【发布时间】:2019-12-23 04:02:43
【问题描述】:
我在复选框标签内输入了一个数字,如上面的屏幕截图所示。当我单击输入的加号/减号按钮来更改数字时,它还会将复选框的 checked-value 更改为意外的副作用。如何预防副作用?
<template>
<el-checkbox-group v-model="auditFinding" @change="checkAuditFinding" style="display:flex;flex-direction: column;">
<el-checkbox v-for="item in auditFindings" :key="item.value" :label="item.label">
<el-input-number v-if="item.value !== 'N/A'" v-model="item.num" :disabled="item.disabled" :min="0" :max="99" size="small" />
{{ item.value }}
</el-checkbox>
</el-checkbox-group>
</template>
<script>
export default {
//...
methods: {
checkAuditFinding(val) {
const t = val.toString()
this.auditFindings.map(item => {
if (val.indexOf(item.value) > -1) {
item.disabled = false
} else {
item.disabled = true
}
})
},
}
}
</script>
【问题讨论】:
-
尝试将
@change="checkAuditFinding"从el-checkbox-group移动到el-input-number,或者在@change之后添加.stop(@change.stop)
标签: vue.js vuejs2 element-ui