vuejs+element UI table表格中实现禁用部分复选框的方法

有时候我们构建这样带一列复选框的表格

然后希望根据条件禁用某个列表项的选择框,可以这样写

加上

:selectable="setDisabled"
然后下面定义setDisabled方法

HTML:

<el-table v-loading="questionBankLoading"
                    :data="questionBankTablelist"
                    row-key="id"
                    border
                    stripe
                    ref="tableRef"
                    @selection-change="handleQuestionBankChange">
            <el-table-column type="selection"
                             width="55"
                             align="center"
                            :selectable="setDisabled"/>
            <el-table-column v-for="(item,index) in questionBankColumns"
                             :prop="item.prop"
                             :label="item.label"
                             :key="index"
                             :show-overflow-tooltip="true">
              <template slot-scope="scope">
                <dict-tag style="width:100%"
                          :options="dict.type[item.dictType]"
                          :value="scope.row[item.prop]"
                          v-if="!isEmpty(item.dictType)"
                          type="text">
                </dict-tag>
                <span v-else>{{scope.row[item.prop]}} </span>
              </template>
            </el-table-column>

JS:

  methods: {
    setDisabled(row,index){
      if(row.questionSum<=0){
        return false
      } else {
        return true
      }
    }
  }
posted @ 2022-06-08 11:02  菜鸟辉哥  阅读(1149)  评论(0)    收藏  举报