在avue dynamic动态表单中如何实现多选及全选并取值

在avue dynamic动态表单中如何实现多选及全选并取值

avue中crud表格行多选的标准用法如下:

<avue-crud ref="crud" :data="data" :option="option" @selection-change="selectionChange">
   <template slot="menuLeft" slot-scope="{size}">
    <el-button type="success" icon="el-icon-check" :size="size" @click="toggleAllSelection()">选中全部</el-button>
    <el-button type="success" icon="el-icon-check" :size="size" @click="toggleRowSelection(data[0])">选中第一行</el-button>
    <el-button type="success" icon="el-icon-check" :size="size" @click="toggleSelection([data[1]])">选中第二行</el-button>
    <el-button type="danger" icon="el-icon-delete" :size="size" @click="toggleSelection()">取消选择</el-button>
  </template>
</avue-crud>

通过@selection-change事件监听可以获取到选中的数据
那如果放到动态表单中,又该如何实现

  • 先看一段option配置代码:
column: [{
        label: "待选单",
        prop: "selectRelList",
        type: "dynamic",
        span: 24,
        children: {
          align: "center",
          index: false,
          selection: true,
          tip: false,
          columnSort: true,
          headerAlign: "center",
          type: "crud",
          addBtn: false,
          delBtn: false,
          selectionChange(data) {
            vueObj.model.selectedRelList = data;
          },
          column: [],
  }]

不难看出,option中给children(实则是子option)增加selectionChange()方法即可获取到当前选中的数据行。

总结

对于部分事件(@开头的方法),可以把相应的事件名转为驼峰形式在option中进行调用监听

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值