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>
相关推荐
之歆9 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
Maimai108089 小时前
React如何用 @microsoft/fetch-event-source 落地 SSE:比原生 EventSource 更灵活的实时推送方案
前端·javascript·react.js·microsoft·前端框架·reactjs·webassembly
candyTong9 小时前
Claude Code 的 Edit 工具是怎么工作的
javascript·后端·架构
卡卡军12 小时前
agmd 1.0 重磅升级——Rust 重写,性能起飞
javascript·rust
Larcher12 小时前
🔥 告别抓瞎:用 Claude Code (cc) 优雅接手与维护已有项目
javascript·机器学习·前端框架
JYeontu12 小时前
轮播图不够惊艳?试下这个立体卡片轮播图
前端·javascript·css
亲亲小宝宝鸭12 小时前
如何监听DOM尺寸的变化?element-resize-detector 和 resizeObserver
前端·javascript
代码煮茶12 小时前
Vite 5.0 新特性深度解析:更快、更干净、更未来的前端构建利器
vue.js
卷帘依旧15 小时前
Generator 全面解析 + async/await 深度对比
前端·javascript
weixin_4713830315 小时前
统一缩放单位基础(px、em、rem)
开发语言·javascript·ecmascript