Vue项目 使用iView 通过render函数 实现 InputNumber 的双向数据绑定

4 篇文章 0 订阅

问题:在以下表格中使用InputNumber需要进行双向数据绑定,但是动态生成的InputNumber输入框组件无法绑定v-model,可以通过render函数进行双向数据绑定。
在这里插入图片描述
template部分

<Table 
     border 
     stripe 
     :columns="addTable" 
     :data="addTableData" 
    >
	     <!-- 表格中单价 -->
	     <template slot-scope="{}" slot="price">
		       <FormItem prop="price" >
		        	 <InputNumber size="small" ></InputNumber>
		       </FormItem>
	     </template>
	     <!-- 表格中数量 -->
	     <template slot-scope="{}" slot="count">
		       <FormItem prop="count" >
			         <InputNumber size="small" ></InputNumber>
		       </FormItem>
	     </template> 
 </Table>

script部分

 export default {
	data() {
    	return {
   			addTable: [
  				{
			         title:'单价',
			         key:'price',
			         slot:"price",
			         render:(h,params)=>{
			            return h('div',[
			              h('InputNumber',{
			                  props:{
			                      min:1,
			                      value:this.price
			                  },
			                  domProps:{
			                      value:this.price
			                  },
			                  on:{
			                    'on-change':(event)=>{
			                      this.price = event
			                    }
			                  },
			                  style:{
			                    width:"50px"
			                  }
			              })
			            ])
			         }
		       	 }
   			]
    	}
    }
 }

on-change事件------数值改变时的回调,返回当前值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值