element-ui el-table多选置灰

本文介绍如何在el-table中实现多选行的置灰效果,通过自定义selectable属性,结合数据列表进行判断,使得特定行不可选择。代码示例展示了如何使用Vue框架中的el-table组件,并提供了一个checkSelectable方法来控制行的选择状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

el-table多选置灰示例:
1. el-table用法:
<el-table
  ref="multipleTable"
  :data="dataList"
  tooltip-effect="dark"
  style="width: 100%"
  @selection-change="handleSelectionChange">
  <el-table-column
    type="selection"
    :selectable="checkSelectable"
    width="55">
  </el-table-column>
  <el-table-column
    prop="title"
    label="题目">
    <template slot-scope="scope">
      <span v-html="scope.row.title"></span>
    </template>
  </el-table-column>
</el-table>

2. method中方法:

checkSelectable (row) {
  let mark = 0
  this.checkedInitQuestions.forEach((item) => {
    if (item.id === row.id) {
      mark = mark + 1
      return false
    }
  })
  return mark <= 0
}

checkedInitQuestions 为需要置灰的数据列表

 

Element UITable 组件默认支持分页功能,如果你想实现在跨页情况下进行,可以结合其提供的`selection`属性和自定义事件处理。`selection`属性允许你在表格上设模式,你可以通过监听`@selection-change`事件来跟踪用户的中状态,不论是在哪一页。 以下是实现步骤: 1. 在 Vue 中配 `element-ui` 的 Table,设 `selection` 为 `multiple` 或 `row-key` 来保证行级择(如果你需要基于每个条目的唯一标识符进行): ```html <el-table :data="tableData" selection="multiple"> <!-- 表格列 --> </el-table> ``` 2. 在组件内获取和处理择的数据: ```javascript export default { data() { return { tableData: [], // 假设这是你的数据源 selectedItems: [] // 存储中的行 }; }, methods: { handleSelectionChange(val) { this.selectedItems = val; // 当用户切换择时,更新selectedItems } }, watch: { $refs: { handler(newRef, oldRef) { if (newRef && newRef.$el) { newRef.$el.addEventListener('selection-change', this.handleSelectionChange); } else if (oldRef) { oldRef.$el.removeEventListener('selection-change', this.handleSelectionChange); } }, deep: true } } } ``` 3. 如果有分页,你需要额外处理每页的数据同步: ```javascript // 假设你有一个分页器 component,如 el-pagination this.pagination.currentPage.value = 1; // 刷新到第一页 this.getTableData(page => { // 获取当前页数据并更新表格及择 // 更新selectedItems为你在新数据中的择 }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值