<div v-for='(item,index) in test' @click='qtest'>
<el-checkbox @change='changeDialogEnd($event, index)' :checked='item.dialogEnd'>输出后结束对话</el-checkbox>
</div>
通过修改checked的值 重新渲染页面 发现不可行
试一下用 Vue.set(state, state_name, state_value)
去修改store中的数据
@Leo555 我自己测试是不成功的
我尝试不使用vuex 将el-checkbox 通过v-for 渲染多个
然后通过修改data值修改checked状态也是不成功的
可以将代码贴到 jsfiddle 我帮你看下吗?
@Leo555
我大概确认了 是el-checkbox不能通过 :checked来做修改
<el-checkbox :checked='dialogEnd'>输出后结束对话</el-checkbox>
<span @click='dialogEnd = !dialogEnd'>测试</span>
我打印了dialogEnd 是在变化的
@Leo555
你好 这个你有相关的解决方案么
@zuank
我写了个demo,你看下能否满足你的需求。https://jsfiddle.net/Leo555/n9jmu5v7/842/
很抱歉这个好像是不可以的
类型于 v-for el-card
el-card里面会有选中框 所以每一个选中框的label值是一样的
我使用checked 在删除某一个el-card后重新渲染
el-checkbox 的checked会有问题
解决了
把checked换成value
为什么我也是用v-for循环出checkbox只有绑定:checked才能实现勾选交互,换成:value和:v-model后,点击checkbox都无反应
@morganfly 看一下log是不是事件被触发了两次。
@zuank 用:value可以改变值,用:checked不能改变值,请重开issue,有问题
<el-form-item
v-for="item in authorityArr"
:key="item.id"
:label="item.name"
style="display:inline-block;width:800px"
label-width="100px">
<el-checkbox
@change="handleCheckAllChange(item.id)">全选</el-checkbox>
<div style="margin: 15px 0;" />
<el-checkbox-group v-model="checkedAuthorityArray">
<el-checkbox
v-for="obj in item.authorityVos"
:key="obj.id"
:label="obj.id"
:checked="obj.checked" // 我这里改成 :value 依旧没有变化
>{{ obj.remark +`${obj.checked}`}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
把checked换成value
It works for me! Thx!!!
把:checked换成:value不管用啊,求解 @zuank
Most helpful comment
解决了
把checked换成value