vue中change事件调用两次
在使用vue时,对文本框、下拉等使用change事件,在change事件中打印日志,始终调用两次,此问题扰了我好久,时长都会想起这个问题,今天终于解决了!!!例如:<!-- 这是我使用报错的代码 -->export default {data() {return {option: {column: [{label: '采购数量',
·
在使用vue时,对文本框、下拉等使用change事件,在change事件中打印日志,始终调用两次,此问题扰了我好久,时长都会想起这个问题,今天终于解决了!!!
例如:
<!-- 这是我使用报错的代码 -->
export default {
data() {
return {
option: {
column: [
{
label: '采购数量',
prop: "quantity",
change: (obj) => {
this.changeQuantity(obj);
}
}
]
}
}
}
methods: {
changeQuantity(obj){
console.log("测试change");
}
}
}
执行结果: 控制台会运行两次
解决方案:
<!-- 定义变量存储要改变的值,进行判断 -->
export default {
data() {
return {
changeValue: '', // 定义变量存储我要改变的值
option: {
column: [
{
label: '采购数量',
prop: "quantity",
change: (obj) => {
this.changeQuantity(obj);
}
}
]
}
}
}
methods: {
changeQuantity(obj){
// 首先判断改变的值
if (obj.value != undefined){
// 判断值和变量,如果之和变量相等,则不做操作,否则执行
if (this.changeValue == obj.value){
} else {
// 储存我所改变的值
this.changeValue= obj.value
console.log("测试change")
// 执行change事件所执行的代码
}
}
}
}
}
此时运行结果:
change事件中的逻辑代码就只会执行一次!!!
更多推荐
已为社区贡献3条内容
所有评论(0)