• 关于element-ui中,页面上有多个el-table并通过v-if、v-else等控制是否显示时,type=selection勾选框失效或不显示的问题


    刚开始是勾选框那一列直接空了什么都不显示,搜索了一下说是给el-table标签增加id,加了之后是显示了,但是点击任何选框都会直接取消全部选中效果,翻了半天源码也没发现到底是哪里事件冲突了还是怎么回事,烦了,干脆自己写勾选框了。首先把type=selection的列修改一下:

    1. <!-- 原来: -->
    2. <el-table-column
    3. type="selection"
    4. width="55"
    5. align="center"
    6. />
    7. <!-- 现在: -->
    8. <el-table-column
    9. width="55"
    10. align="center"
    11. >
    12. <template
    13. slot-scope="{row}"
    14. slot="header"
    15. >
    16. <el-checkbox
    17. :indeterminate="isIndeterminate"
    18. v-model="checkAll"
    19. @change="handleCheckAllChange">
    20. </el-checkbox>
    21. </template>
    22. <template slot-scope="scope">
    23. <el-checkbox v-model="scope.row.checked" @change="handleCheckedChange"/>
    24. </template>
    25. </el-table-column>

    获取数据的时候记得加上checked用于绑定是否选中:

    1. var ids = '' //已被选中保存过的id们 另外一个接口获取 我就不写了
    2. //列表数据 接口获取过了
    3. this.listData.forEach((element, index) => {
    4. //在已保存列表里 选中
    5. if (ids.indexOf(element.id) != -1) {
    6. this.$set(this.listData[index], 'checked', true)
    7. } else {
    8. this.$set(this.listData[index], 'checked', false)
    9. }
    10. })

    勾选事件:

    1. //单个checkbox选中/不选事件
    2. handleCheckedChange (value) {
    3. let checkedCount = value.length;
    4. //判断是否变成了全选/全不选 置状态
    5. this.checkAll = checkedCount === this.listData.length;
    6. this.isIndeterminate = checkedCount > 0 && checkedCount < this.listData.length;
    7. },
    8. //全选/全不选切换
    9. handleCheckAllChange (val) {
    10. //改变每一条的选中状态
    11. this.listData.forEach((element, index) => {
    12. this.$set(this.listData[index], 'checked', val)
    13. })
    14. //全选框的状态 单纯显示
    15. this.isIndeterminate = false;
    16. },

  • 相关阅读:
    我爱上了这个网站
    Shell基本语法--流程控制
    C++ Qt QModbusClient 的使用
    Golang单元测试举例
    node教程
    docker在java项目中打成tar包
    Nacos升级2.2.2 相关版本升级及升级中问题【下篇】
    【SQL】索引失效的11种情况
    Kubernetes 集群部署 Prometheus 和 Grafana
    进程和线程(要关注哦)
  • 原文地址:https://blog.csdn.net/qq_37628661/article/details/133788689