效果
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實現雙向綁定數據的示例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com