vue2之el-table表格多选改单选

vue2之el-table表格多选改单选

模板代码

html 复制代码
<el-table ref="tableRef" :data="tableData" border class="order-plan-table" 
:show-summary="showSummary" @selection-change="handleSelectionChange" @select="handleSelect">
      <el-table-column type="selection" width="55" align="center" />
 </el-tabel>

script代码

js 复制代码
data() {
    return {
      ids: [],
      selectedRow: [],
    }
  },
//-----------------下面是methods--------------------------
// 多选框选中数据
    handleSelectionChange(selection) {
      this.ids = selection.map(item => item.id)
      if (selection.length > 0) {
        this.selectedRow = selection[selection.length - 1];
      } else {
        this.selectedRow = null;
      }
      this.$emit('selection-change', this.selectedRow);
    },
    handleSelect(selection, row) {
      // 点击单行时强制单选
      if (selection.length > 1) {
        this.$refs.tableRef.clearSelection();
        this.$refs.tableRef.toggleRowSelection(row, true);
      }
    },

样式,需要隐藏全选按钮, 这里使用了样式穿透, scss需留意

css 复制代码
<style scoped>
::v-deep .el-table__header-wrapper .el-checkbox {
  display: none;
  /* 隐藏全选复选框 */
}
::v-deep .el-table__header-wrapper .el-table-column--selection .cell {
  padding-left: 0;
  /* 调整列间距 */
}
</style>
相关推荐
VX:Fegn08954 小时前
计算机毕业设计|基于ssm + vue超市管理系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·后端·课程设计
2401_892000525 小时前
Flutter for OpenHarmony 猫咪管家App实战 - 添加提醒实现
前端·javascript·flutter
Yolanda945 小时前
【项目经验】vue h5移动端禁止缩放
前端·javascript·vue.js
VX:Fegn08956 小时前
计算机毕业设计|基于springboot + vue酒店管理系统(源码+数据库+文档)
vue.js·spring boot·课程设计
EndingCoder6 小时前
案例研究:从 JavaScript 迁移到 TypeScript
开发语言·前端·javascript·性能优化·typescript
Irene19917 小时前
Vue3 中使用的命名规则 和 实际开发命名规范总结
vue.js·命名规范
Amumu121388 小时前
Vue脚手架(二)
前端·javascript·vue.js
lichenyang4539 小时前
从零开始构建 React 文档系统 - 完整实现指南
前端·javascript·react.js
比特森林探险记9 小时前
Hooks、状态管理
前端·javascript·react.js
比特森林探险记10 小时前
组件通信 与 ⏳ 生命周期
前端·javascript·vue.js