vue 项目中 Element 库的组件 el-select 的 change 事件触发问题
问题描述: 通常我们的需求是改变 select 的选项才会触发 change 事件,但是意料之外,页面初始化的时候也会触发 change 事件。应用场景:例如新增/编辑页,页面有个二级联动的下拉,eg: xx 省、xx 市。省与市都有值的情况下编辑省就会清空市,但是进编辑页的时候,理想情况下,省和市都应该有值。但是由于编辑省的时候change事件中将市给清空了,而进编辑页初始化的时候又会默认调ch
·
问题描述: 通常我们的需求是改变 select 的选项才会触发 change 事件,但是意料之外,页面初始化的时候也会触发 change 事件。
应用场景:例如新增/编辑页,页面有个二级联动的下拉,eg: xx 省、xx 市。省与市都有值的情况下编辑省就会清空市,但是进编辑页的时候,理想情况下,省和市都应该有值。但是由于编辑省的时候change事件中将市给清空了,而进编辑页初始化的时候又会默认调change事件,所以进编辑页的时候市的值就为空了。
期望:进入编辑页的时候省与市都有值,编辑省的时候将市清空。
解决方法:设置一个标志,根据标志决定执行那些方法。若页面初始化时不需要调用市的下拉列表,则可以将change时间单独写入一个方法,在另一个方法中进行调用。
data() {
return {
changeFlag: false
}
},
methods: {
changeDwmc(val) {
if (this.changeFlag) {
// 修改选项时操作
this.form.city_id = '';
} else {
// 进入页面时,页面初始化
this.changeFlag = true;
}
// 其他共同操作
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)