美文网首页
element-ui Table组件结合checkbox实现单选

element-ui Table组件结合checkbox实现单选

作者: DDLH | 来源:发表于2020-08-11 17:32 被阅读0次

场景:最近在做一个需求,导出时选择导出模版,要求是只能单选,如下图:

image.png

解决方案:结合element的多选框方法

html代码<template>

<div>
  <el-table
    :data="tableData">
    <el-table-column
      label="__">
      <template slot-scope="scope">
        <el-checkbox @change="checkboxChange(props.obj.row)" v-model="scope.row.checked"></el-checkbox> // 添加一个多选框,控制选中与否
      </template>
    </el-table-column>
    <el-table-column
      prop="name"
      label="模版名称">
    </el-table-column>
    <el-table-column
      label="操作">
      <template slot-scope="scope">预览模版</template>
    </el-table-column>
  </el-table>
</div>
</template>

js代码:

export default {
    data () {
      return {
        tableData: [],
        currentSelectItem: {} // 当前选中的值
      }
    },

    created () {
      this.setTable()
    },

    methods: {
      setTable () {
        let resdata = [{
          id: 1,
          name: 'xxx'
        }, {
          id: 2,
          name: 'xxx',
        }]
        // 后台数据返回后,手动添加一个checked属性控制选中与否
        resdata.forEach(item => {
          item.checked = false
        })
        this.tableData = resdata
      },

      checkboxChange(row) {
          this.dataTable.data.forEach((item) => {
            // 排他,每次选择时把其他选项都清除
            if (item.id !== row.id) {
              item.checked = false
            }
          })
          console.log(row) // 这里可以把当前选中的这一项先保存起来
          this.currentSelectItem = row.checked ? row : ''
      },
    }
  }

最后获取的currentSelectItem值,就是选中的值。

相关文章

网友评论

      本文标题:element-ui Table组件结合checkbox实现单选

      本文链接:https://www.haomeiwen.com/subject/ebpydktx.html