欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-20 16:13:04
效果 html的table

效果

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;
           } 
          }

完成~

以上这篇vue-table上绑定input通过render实现双向绑定数据的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。