element-ui表格table中复选框只能选中一个

问题:

el-table中实现单选,选中一个其他的取消选中

代码:

javascript 复制代码
<template>
  <div>
    <el-table
      :data="tableData"
      @selection-change="handleSelectionChange"
      ref="singleTable"
      highlight-current-row
    >
      <el-table-column
        type="selection"
        width="55">
      </el-table-column>
      <el-table-column
        prop="name"
        label="姓名">
      </el-table-column>
      <el-table-column
        prop="address"
        label="地址">
      </el-table-column>
    </el-table>
  </div>
</template>

<script>
export default {
  data() {
    return {
      tableData: [{
        name: '王小虎',
        address: '上海市普陀区金沙江路 1518 弄'
      }, {
        name: '张三',
        address: '上海市普陀区金沙江路 1517 弄'
      }],
      selectedRow: null // 用于存储当前选中的行
    };
  },
  methods: {
   handleSelectionChange(selection) {
       if (Array.isArray(selection) && selection.length > 1) {//点击勾选框
        this.$refs.singleTable.toggleRowSelection(selection[0],false);
        this.$refs.singleTable.toggleRowSelection(selection[1],true);
        this.selectedRow = selection[1];
      }else if (Array.isArray(selection) && selection.length === 1){
        this.selectedRow = selection[0];
      }else {
        this.selectedRow = null;
      }
    },
  }
};
</script>```
相关推荐
jiayong2310 小时前
前端面试题库 - Vue框架篇
前端·vue.js·面试
Hello--_--World10 小时前
为什么 用vite进行分包后,可以通过 浏览器强制缓存 提高性能?路由懒加载进行的分包与 vite进行的分包有什么不同?
前端·javascript·缓存·vite
三*一10 小时前
Mapbox GL JS 前端多边形分割实战:从踩坑到优雅实现
开发语言·前端·javascript·vue.js
xChive10 小时前
前端请求取消:用 AbortController 从 fetch 到 axios
前端·vue.js·axios·fetch·abortcontroller
一棵树735110 小时前
js总结介绍
前端·javascript·html
踩着两条虫10 小时前
AI 低代码引擎可视化设计器交互机制实战
前端·vue.js·人工智能·低代码·架构
白菜__11 小时前
微信小程序网关逆向分析
javascript·微信小程序·小程序·node.js·网络爬虫·微信网关·小程序网关
放下华子我只抽RuiKe511 小时前
React 从入门到生产(三):副作用与数据获取
前端·javascript·深度学习·react.js·开源·ecmascript·集成学习
Cobyte11 小时前
12.响应式系统演进:揭秘多级脏检查机制的设计哲学与实现原理(Vue3.4)
前端·javascript·vue.js
ZC跨境爬虫11 小时前
跟着 MDN 学CSS day_1:(CSS 基石与色彩的艺术)
前端·javascript·css·ui·html