vue简单下拉框组件
来源:互联网 发布:mac 最火游戏排行 编辑:程序博客网 时间:2024/06/10 03:07
因为要将选择的数据传回父组件,所以要传一个对象过去。
<template> <!--下拉单选框--> <div class="base-select" @click="showDataList" v-bind:style="{width: widthData}"> <div class="sub-selected-value"> {{selectedValue.value}}<!--显示选择的值--> <div class="sub-select-list" v-bind:style="{width: widthData}" v-if="showData"> <div class="sub-select-item" v-for="(item, index) in dataList" @click.stop="select(item, index)"> {{item.value}} </div> </div> </div> </div></template><style lang="scss"> .base-select { position: relative; top: 0px; float: right; border: 1px solid; height: 25px; //width: 160px; &:after { position: absolute; top: 50%; right: 2px; transform: translateY(-50%); content: ''; width: 0; border-top: 5px solid black; border-left: 4px solid transparent; border-right: 4px solid transparent; height: 0; } .sub-selected-value { position: absolute; top: -7px; .sub-select-list { position: absolute; top: 33px; background: white; //width: 160px; box-shadow: 1px 1px 1px 1px #D9D9D9; z-index: 9; .sub-select-item { width: auto; min-width: 7.25rem; height: 2.5rem; line-height: 2.5rem; position: relative; text-align: left; img { position: absolute; top: 50%; right: 0; transform: translate(-0.1rem, -50%); width: .8125rem; height: .625rem; } } } } }</style><script type="text/ecmascript-6"> export default{ data(){ return{ showData: false } }, props: { dataList:Array, selectedValue: Object,//传回父组件的选择值 widthData:{ type: String, default: "160px" } }, methods: { showDataList(){ this.showData=!this.showData }, select(item,index){ this.showData=false; console.log("选择"); console.log(item); console.log(index); //this.selectedValue=item; //赋值的时候要分开写 this.selectedValue.key=item.key; this.selectedValue.value=item.value; this.$emit('select'); console.log("0"+this.selectedValue.value); }, }, mounted(){ } }</script>
父组件中调用
html代码:
<BaseSelect v-on:select="showProject" :selectedValue="projectName" :dataList="list" :widthData="widthData"></BaseSelect>
js代码
data() { return { list:[ {key:"gd",value:"卫我好交换空间"}, {key:"gx",value:"我去而且翁群无"}, {key:"gx",value:"王企鹅群无科技二号"} ], projectName:{//岁子组件的选择值改变而改变的值 key:"", value:"" }, widthData:"180px", } }showProject (){ console.log("下拉列表的值改变了"); console.log("213122"+this.projectName.value); console.log("213122"+this.projectName.key); },
阅读全文
0 0
- vue简单下拉框组件
- vue 通过下拉框组件了解Vue中父子组件通讯
- vue组件简单案例
- vue 简单分页组件
- vue百度下拉框
- vue+百度下拉框
- vue父子组件简单通信
- vue--简单的select组件
- 简单的vue日历组件
- [IMWeb训练营作业]vue实现自定义select下拉框组件
- vue省市区三联动下拉选择组件的实现
- Vue.js组件封装——下拉列表
- vue组件简单介绍与使用
- vue.js 组件实现简单分页效果
- vue-cli之组件的简单使用
- 下拉框组件
- vue 组件递归,非父子间组件通信简单实例
- vue mint-ui组件的下拉刷新插件 mt-loadmore 取消下拉
- xLua添加白名单
- 关于2017的面试准备与记录
- Android studio中获取sha1 和MD5 值
- Deep Learning读书笔记8--应用
- centOS7安装Nginx
- vue简单下拉框组件
- 机器学习入门笔记(九)----无监督学习
- Android性能优化(一):布局优化
- 分享一款 Google Pixel 2 独家动态壁纸
- oracle分区
- PostgreSQL安装
- centOS7安装ssh
- python知识点1:总结高质量Python博客内容,解决python入门基本问题
- Android 项目首页的Fragment切换实例(一)