懵懂的程序员小曲 2021-01-07 09:58 采纳率: 100%
浏览 548
已结题

在子组件中带复选框的element表格默认勾选

封装了一个组件,子组件中有带有复选框的element表格,数据都是在父组件中控制的,怎样让子组件中的复选框默认勾选上

点击编辑的时候,弹出弹窗,弹窗的表格复选框自动勾选上。

父组件数据如下,通过selected来控制复选框的勾选

子组件就是个elementui的带复选框组件

 

 

  • 写回答

1条回答 默认 最新

  • damoneric_guo 2021-01-07 11:07
    关注

    html:

    <template>
        <el-table
            ref="multipleTable"
            :data="tableData"
            row-key="id"
            @selection-change="handleSelectionChange"
            style="width: 100%">
            <el-table-column type="selection" width="55"></el-table-column>
            <el-table-column prop="date" label="日期" width="180"></el-table-column>
            <el-table-column prop="name" label="姓名" width="180"></el-table-column>
            <el-table-column prop="address" label="地址"></el-table-column>
        </el-table>
    </template>

     

    js:

    <script>
    export default {
      data() {
        return {
          // 默认勾选的数据
          checkeAll: [
            {
              id: 1,
              date: '2016-05-02',
              name: '王小虎',
              address: '上海市普陀区金沙江路 1518 弄'
            }, {
              id: 2,
              date: '2016-05-04',
              name: '王小虎',
              address: '上海市普陀区金沙江路 1517 弄'
            }
          ],
          // 表格数据
          tableData: [
            {
              id: 1,
              date: '2016-05-02',
              name: '王小虎',
              address: '上海市普陀区金沙江路 1518 弄'
            }, {
              id: 2,
              date: '2016-05-04',
              name: '王小虎',
              address: '上海市普陀区金沙江路 1517 弄'
            }, {
              id: 3,
              date: '2016-05-01',
              name: '王小虎',
              address: '上海市普陀区金沙江路 1519 弄'
            }, {
              id: 4,
              date: '2016-05-03',
              name: '王小虎',
              address: '上海市普陀区金沙江路 1516 弄'
            }
          ]
        }
      },
      mounted() {
        this.getDefault();
      },
      methods: {
        handleSelectionChange(val) {
          this.checkeAll = val;
        },
        getDefault() {
          this.checkeAll.forEach((val, index) => {
            let obj = this.tableData.find(o => o.id === val.id);
            if(obj) this.$refs.multipleTable.toggleRowSelection(obj);
          })
        }
      }
    }
    </script>

    评论

报告相同问题?

悬赏问题

  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥100 关于#audobe audition#的问题,如何解决?
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥15 高通uboot 打印ubi init err 22