之前写了.一个原生的select的,因为展示效果原因,给删除掉了,忘记保存代码了,现在大家展示使用elementUI的下拉框封装一个组件,供咱们项目中经常调用,减少代码量。
html:
Js:
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)
}
}
}
下来我给大家说一下这个页面都做了什么-
a、在页面刚开始加载时候,通过create 调用了我们的一个方法。发送ajax.获取到下拉框该显示的值。
b、通过给select绑定一个model来监视和获取选中后的值.这里是ite
c、此处第一行option,我们写了一个固定表头, 以下通过option是通过created: funtion() 试页面加载后,立即访问后台,查询数据库,获取的下拉列表值,进行显示。
d、这里的value值.我们绑定成这条数据对象item.
Ps:这里大家肯定会想这不是很简单么?但是这里有一个坑,就是你选取的每一个值都会在下拉框中,显示成最后一个,但是实际value值是你选取的这个对象…看一看,是不是出现了,这个问题。
这个问题出现的原因是,在你option绑定key,和value时。该这些数据中有重复值导致的,造成数据对应不起..
这个问题我们需要怎么解决呢,Select值为对象类型时,需要提供一个 value-key 作为唯一性标识。
e、我们通过watch监听咱们select的model,在这个监听里面调用一个给父组件传值的方法..将咱们的item提供给父组件使用。
以上这篇浅谈Vue Element中Select下拉框选取值的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。