问题描述:
1.从列表页新建跳转至详情编辑页,3 个 el-checkbox 选中第 3 个,保存,跳转回列表页。
2.点击此条信息对应的编辑按钮进入编辑详情页,el-checkbox 选中情况跟原先一样,但是点击第 1、3 个 el-checkbox 框无法选中,点击原来的第 2 个之前选中的 el-checkbox 框,无法取消选中。
3.watch监听不到变化;@change监听到值一直不变, el-checkbox-group 绑定的v-model值发现无论怎么选始终都为 [2]。
旧代码情况:
<el-form-item label="">
<el-checkbox-group v-model="form.checkArr">
<el-checkbox label="1">项目一</el-checkbox>
<el-checkbox label="2">项目二</el-checkbox>
<el-checkbox label="3">项目三</el-checkbox>
</el-checkbox-group>
</el-form-item>
data() {
return {
form: {
checkArr: []
}
}
}

选中项是watch监听的,选中了啥是watch打印的
解决bug:
将 form.checkArr 改成 checkArr 移除 form 表单,多选框可正常选中。即:
data() {
return {
checkArr: []
}
}
原理:
渲染机制?????等会儿我想想~
博客描述了一个在Vue前端应用中遇到的el-checkbox选中异常问题:从列表页跳转至详情编辑页,选中某个选项后,再次编辑时无法正常选中或取消选中。问题在于watch监听不到变化,@change事件的值也未更新。解决方案是移除form表单,将checkArr绑定直接改为变量,从而解决了渲染机制导致的bug。
1515

被折叠的 条评论
为什么被折叠?



