vue element el-table 禁止勾选

文章介绍了如何在ElementUI的el-table-column中使用selectable属性进行列的勾选设置,并展示了基于特定条件(如操作类型、分配者和节点标签)动态控制勾选状态的示例代码。
el-table-column 提供 selectable属性 默认true 例如:
        <el-table-column type="selection" :selectable="selected" header-align="center" align="center" width="50"></el-table-column>


    // 勾选条件
    selected (row, index) {
      if (row.newestHistory.operate !== 5 && row.newestHistory.assignee === this.$store.state.user.name && row.newestHistory.nodeTag !== 'XTY_KSJD') {
        return true // 可勾选
      } else {
        return false // 不可勾选
      }
    },

Vue3 中使用 Element Plus(Element UI 的 Vue3 版本)时,如果需要修改 `el-table` 组件中勾选框未选中状态的边框颜色,可以通过覆盖组件的默认样式来实现。 ### 修改 el-table 勾选框未选中状态的边框颜色 1. **通过 CSS 覆盖样式** 可以使用浏览器开发者工具检查 `el-table` 内部的 checkbox 元素,并找到对应的类名或属性选择器。通常情况下,Element Plus 的 checkbox 样式是通过 `.el-checkbox__input` 类进行控制的。 在你的组件的 `<style>` 部分添加如下 CSS 代码: ```vue <style scoped> .el-table .el-checkbox__input:not(.is-checked) .el-checkbox__inner { border-color: #ff0000; /* 设置你想要的边框颜色 */ } </style> ``` 这段代码的作用是将所有 `el-table` 中未选中的 checkbox 的边框颜色更改为红色。你可以根据需要修改 `#ff0000` 为其他颜色值。 2. **使用 SCSS 变量(可选)** 如果你在项目中使用了 SCSS 并且希望全局修改 Element Plus 的样式,可以通过覆盖 SCSS 变量来实现。首先,在项目中安装并配置好 SCSS 支持,然后在项目的入口文件(如 `main.js` 或 `main.ts`)中引入 Element Plus 的主题变量。 在你的 SCSS 文件中定义如下变量: ```scss $--checkbox-border-color: #ff0000; @import "~element-plus/packages/theme-chalk/src/index"; ``` 这种方式可以全局生效,适用于整个项目中所有的 `el-checkbox` 组件。 3. **动态样式绑定(高级用法)** 如果你需要根据某些条件动态地改变 checkbox 的边框颜色,可以使用 Vue 的动态样式绑定功能: ```vue <template> <el-table :data="tableData" style="width: 100%"> <el-table-column type="selection"> <template #default="{ row }"> <el-checkbox v-model="row.selected" :style="{ '--el-checkbox-border-color': getCheckboxBorderColor(row) }" /> </template> </el-table-column> </el-table> </template> <script setup> import { ref } from 'vue'; const tableData = ref([ { id: 1, name: 'Item 1', selected: false }, { id: 2, name: 'Item 2', selected: false }, // 更多项... ]); function getCheckboxBorderColor(row) { return row.selected ? '#409EFF' : '#ff0000'; // 根据行数据返回不同的颜色 } </script> ``` 在这段代码中,`getCheckboxBorderColor` 函数会根据每一行的数据返回不同的边框颜色。注意这里使用了 CSS 自定义属性 `--el-checkbox-border-color` 来动态设置颜色。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值