element ui:table表格多选,根据条件禁用某一行的多选框

这两天写需求的时候,有一个需求是table表格可以多选,但是有些行需要根据条件禁用多选

要实现这种效果,查看了半天文档,有百度了半天,终于理解是咋整的了

关键就是这里,只对type=selection的列有效,然后是一个function,参数有row,index,返回true和false来控制多选的是否可以勾选

<el-table-column type="selection" width="55" :selectable="selectable"> </el-table-column>
method: {
    selectable(row,index) {
        //伪代码
        return "禁用的条件"
    }
}

然后就ok啦

  • 8
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
这个问题涉及到前端开发中的一些知识点,需要一些前置条件才能够理解。 在Element UI中,多选表格是通过el-table组件实现的。如果要实现多选功能,需要在el-table中设置selection属性为true,并且在el-table-column中设置type为selection。这样就可以在表格的左侧添加一个多选框了。 接下来,我们需要实现弹窗关闭按钮的状态变化。这可以通过监听el-table组件的selection-change事件来实现。当用户选择了一些数据后,selection-change事件就会被触发。我们可以在事件处理函数中判断是否有数据被选中,如果有,则将关闭按钮的disabled属性设置为false,否则设置为true。 下面是一个示例代码,可以帮助你更好地理解: ```html <template> <el-dialog :visible.sync="dialogVisible" title="多选表格"> <el-table :data="tableData" :selection="selection" @selection-change="handleSelectionChange"> <el-table-column type="selection"></el-table-column> <el-table-column prop="name" label="姓名"></el-table-column> <el-table-column prop="age" label="年龄"></el-table-column> <<el-table-column prop="address" label="地址"></el-table-column> </el-table> <div slot="footer"> <el-button :disabled="closeDisabled" @click="handleClose">关闭</el-button> </div> </el-dialog> </template> <script> export default { data() { return { dialogVisible: false, tableData: [ { name: '张三', age: 18, address: '北京市' }, { name: '李四', age: 20, address: '上海市' }, { name: '王五', age: 22, address: '广州市' } ], selection: [], closeDisabled: true } }, methods: { handleSelectionChange(val) { this.selection = val this.closeDisabled = val.length === 0 }, handleClose() { this.dialogVisible = false } } } </script> ``` 在上面的代码中,我们通过data定义了一些变量,包括dialogVisible(弹窗是否可见)、tableData(表格数据)、selection(已选中的数据)、closeDisabled(关闭按钮是否禁用)等。在el-table组件中,我们设置了selection为true,并且在el-table-column中设置了type为selection,这样就实现了多选功能。在el-button组件中,我们通过:disabled属性绑定了closeDisabled变量,实现了关闭按钮的禁用状态。在handleSelectionChange方法中,我们通过判断val数组的长度来确定是否有数据被选中,并且设置closeDisabled变量的值,从而实现了关闭按钮状态的变化。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值