您当前的位置: 首页 >  ui

王佳斌

暂无认证

  • 4浏览

    0关注

    821博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ElementUI - <el-table> 表格 selection 设置的复选框禁止选中某些行

王佳斌 发布时间:2021-07-23 11:01:22 ,浏览量:4

前言

当表格设置 selection 开启复选框可选时,您可能需要禁用一些 业务条件成立 的行数据。

例如,禁用表格中所有 地址 为 秦皇岛市海港区居民 的行数据,复选框无法选中,如下图所示效果:

在这里插入图片描述

实现方法

表格文档:https://element.eleme.cn/#/zh-CN/component/table

ElementUI 提供了该需求的解决方案,上述文档连接中打开搜索 selectable在这里插入图片描述 该属性接收一个函数,您只需要在函数中做出判断,返回 ture / false 即可确定该行是否可选。

完整示例

为您提供了干净整洁的demo,该示例可直接复制运行,前提是环境存在(vue/elementui)。


  
    
      
      
      
      

      
      

      
      

      
      

    
  



export default {
  
  data(){
    return {

       // 示例表格数据
       tableData: [
        {
          date: '2016-05-02',
          name: '李栓蛋',
          address: '秦皇岛市海港区居民'
        },
        {
          date: '2016-05-04',
          name: '李四',
          address: '上海市普陀区金沙江路 1517 弄'
        },
        {
          date: '2016-05-01',
          name: '王五',
          address: '秦皇岛市海港区居民'
        },
        {
          date: '2016-05-03',
          name: '张三',
          address: '上海市普陀区金沙江路 1516 弄'
        }
      ]
    }
  },

  methods: {

    /**
     * 根据条件禁用行复选框
     * 函数返回值为false则禁用选择(反之亦然)
     * @param {Object} row - 行数据
     * @param {String} index - 索引值
     * @return Boolean
     */
    selectable: function(row, index)
    {
        // 地址不是 "秦皇岛市海港区居民" 才能被选中
        if(row.address != '秦皇岛市海港区居民'){
          return true;
        }

        // 函数必须有返回值且是布尔值
        // 页面刷新后该函数会执行 N 次进行判断(N 为表格行数)
        // 如果没有返回值则默认返回false(全部无法选中)
    },
  }
}



关注
打赏
1665568777
查看更多评论
立即登录/注册

微信扫码登录

0.0380s