v-for循环创建element多选框的bug要如何解决?

我使用element创建了一个多选框,数据由后端循环输出而成,效果如下,但是点击其中一个选项出现了全选的效果
clipboard.png

clipboard.png
代码如下

  <el-form-item label=" 请勾选此用户所属角色:" prop="types">
      <el-checkbox v-model="ruleForm.types" v-for="item in adminData" :key="item.adminData"> 
           {{item.roleDisplayName}}
      </el-checkbox>
  </el-form-item>

clipboard.png
想知道如何解决,感谢您的解答

阅读 5.9k
5 个回答

泻药~
楼主,你的用法不对的。建议去官方文档详细看下。我试着改了下,你试试看。

  <el-form-item label=" 请勾选此用户所属角色:" prop="types">
    <el-checkbox-group v-model="checkList">
        <el-checkbox v-for="item in adminData" :label="item.roleId" :key="item.roleId"> 
               {{item.roleDisplayName}}
          </el-checkbox>
      </el-checkbox-group>
  </el-form-item>

如有帮助,麻烦点击下采纳,谢谢~

v-model同一个值可不有问题么

1.key值一定要 唯一且只能用 string number
2.建议使用 el-checkbox-group 而不是 el-checkbox

  <el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
    <el-checkbox v-for="city in cities" :label="city" :key="city">{{city}}</el-checkbox>
  </el-checkbox-group>

循环渲染出来v-model应该是item的一个属性吧, 怎么是同一个值

你这样写肯定不对啊,如果要用多选框组,应该这样写

<el-checkbox-group v-model="checkedList">
    <el-checkbox v-for="item in adminData" :key="item.adminData" :label="city">
       {{item.roleDisplayName}}
   </el-checkbox>
  </el-checkbox-group>

你看看官方文档有写的 element checkbox 传送门

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题