Vue中Element中Select下拉框选取值问题
2018-02-03 22:27
736 查看
之前写了.一个原生的select的,因为展示效果原因,给删除掉了,忘记保存代码了,现在大家展示使用elementUI的下拉框封装一个组件,供咱们项目中经常调用,减少代码量.
html
Js:
下来我给大家说一下这个页面都做了什么-
a.在页面刚开始加载时候,通过create 调用了我们的一个方法.发送ajax.获取到下拉框该显示的值.
b.通过给select绑定一个model来监视和获取选中后的值.这里是ite
c.此处第一行option,我们写了一个固定表头, 以下通过option是通过created:
funtion() 试页面加载后,立即访问后台,查询数据库,获取的下拉列表值,进行显示.
d.这里的value值.我们绑定成这条数据对象item.
Ps:这里大家肯定会想这不是很简单么?但是这里有一个坑,就是你选取的每一个值都会在下拉框中,显示成最后一个,但是实际value值是你选取的这个对象…看一看,是不是出现了,这个问题.
这个问题出现的原因是,在你option绑定key,和value时.该这些数据中有重复值导致的,造成数据对应不起..
这个问题我们需要怎么解决呢,Select值为对象类型时,需要提供一个 value-key 作为唯一性标识
e.我们通过watc
a4ab
h监听咱们select的model,在这个监听里面调用一个给父组件传值的方法..将咱们的item提供给父组件使用.
html
<el-select v-model="ite" placeholder="请选择" value-key="mateGroup"> <el-option style="width: auto" :disabled="true" :value="null"> <span style="float: left;font-weight: bold">周次 </span> <span style="float: left; color: #8492a6; font-size: 13px; font-weight: bold"> 开始日期 </span> <span style="float: right; color: #8492a6; font-size: 13px; font-weight: bold"> 截止日期 </span> </el-option> <el-option v-for="(item,index) in res" :key="index" :label="item.mateGroup" v-bind:value="item"> <span style="float: left; color: #8492a6; font-size: 13px">{{ item.mateGroup }} </span> <span style="float: left; color: #8492a6; font-size: 13px"> {{ item.weekStartDate }} </span> <span style="float: right">{{ item.weekEndDate }}</span> </el-option> </el-select>
Js:
<script> import jQuery from 'jquery' export default { props: ['orgCode', 'farmOrg'], data () { return { res: [], ite: '', weekse: '' } }, created: function () { var _self = this _self.getWeekYearly() }, watch: { ite: function (val) { this.weekse = val console.log(this.weekse) this.getL() } }, methods: { getWeekYearly () { var _self = this jQuery.ajax({ url: '/standard/' + _self.orgCode + '/' + _self.farmOrg + '/getWeekly', type: 'GET', // contentType: 'application/json', dataType: 'json', success: function (res) { _self.res = res }, fail: function (e) { // this.tableFlag = false alert('请求失败') console.log('查询失败') } }) }, getL: function () { var _self = this _self.$emit('getL', _self.weekse) } } } </script>
下来我给大家说一下这个页面都做了什么-
a.在页面刚开始加载时候,通过create 调用了我们的一个方法.发送ajax.获取到下拉框该显示的值.
b.通过给select绑定一个model来监视和获取选中后的值.这里是ite
c.此处第一行option,我们写了一个固定表头, 以下通过option是通过created:
funtion() 试页面加载后,立即访问后台,查询数据库,获取的下拉列表值,进行显示.
d.这里的value值.我们绑定成这条数据对象item.
Ps:这里大家肯定会想这不是很简单么?但是这里有一个坑,就是你选取的每一个值都会在下拉框中,显示成最后一个,但是实际value值是你选取的这个对象…看一看,是不是出现了,这个问题.
这个问题出现的原因是,在你option绑定key,和value时.该这些数据中有重复值导致的,造成数据对应不起..
这个问题我们需要怎么解决呢,Select值为对象类型时,需要提供一个 value-key 作为唯一性标识
e.我们通过watc
a4ab
h监听咱们select的model,在这个监听里面调用一个给父组件传值的方法..将咱们的item提供给父组件使用.
相关文章推荐
- 浅谈Vue Element中Select下拉框选取值的问题
- 使用vue.js的Input和下拉选select应该注意的问题
- VueJS Element-UI el-select 多选情况下绑定值的问题
- Chosen:select下拉选择框美化插件及问题
- 安卓系统浏览器中select下拉按钮无法弹出选择面板奇怪问题解决
- 关于angular选取select下拉框中的值
- vue+elementUI中使用 el-autocomplete 实现远程搜索的下拉框需要注意的问题
- html表单 select多选下拉箭头的问题
- 关于jquery控制select下拉框自动展开问题
- python+webdriver,选取Select下拉框中的值
- Vue.js 2.0之select级联下拉框
- jquery easyui校验select下拉列表值是否为空的问题
- vue+elementUI 关于日期选择器的disabledDate问题
- 关于list集合传到jsp,在struts的select标签中显示下拉列表问题
- vue调用百度地图API输入提示示例下拉列表一直被触发问题
- element-ui中的select下拉列表设置默认值方法
- vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
- AngularJS下拉列表select在option动态变化之后多出了一个错误项的问题
- [jQueryUI] - Chosen:select下拉选择框美化插件及问题
- vue-cli与element-ui相关问题