VUE-Table上绑定Input通过render实现双向绑定数据


  效果
这里写图片描述


  HTML的Table

<Card>
          <div ref="print" >
            <Table    width="100%" height="500" size="small" :columns="columns7" :stripe="true" :data="data" border ></Table>
          </div>
</Card>


  JS代码

<script>
    export default {
        data () {
            return {
                columns7: [
          {
            title: '序号',
            type: 'index',
            width: 200
          },
          {
            title: '新批次',
            width: 350,
            key:'newLots'
          },
          {
            title: '数量',
            key: 'numLots',
            width: 350,
            align: 'center',
            render: (h, params) => {
              var vm = this;
              return h('div', [

                h('Input', {
                  props: {
                  //将单元格的值给Input
                  value:params.row.numLots,
                  },
                  on:{
                       'on-change' (event) { 
                          //值改变时 
                          //将渲染后的值重新赋值给单元格值     
                          params.row.numLots = event.target.value;
                          vm.data[params.index] = params.row;
                      } 
                   }
                },)
              ]);
            }
          },
          {
            title: '操作',
            key: 'action',
            width: 350,
            align: 'center',
            render: (h, params) => {
              return h('div', [
                h('Button', {
                  props: {
                    type: 'error',
                    size: 'default'
                  },
                  style: {
                    marginRight: '5px'
                  },
                  on: {
                    click: () => {
                      this.openDeleteDialog(params.index)
                    }
                  }
                }, '删除')
              ]);
            }
          }

        ],
        data: [],
            }
        }
    }
</script>


  这样就实现Input和Table单元格数据的双向绑定,取值是直接循环单元格来取值。

  双向绑定数据的核心代码:

on:{
                       'on-change' (event) { 
                          //值改变时 
                          //将渲染后的值重新赋值给单元格值     
                          params.row.numLots = event.target.value;
                          vm.data[params.index] = params.row;
                      } 
                   }


  感谢!

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值