iview table组件动态新增行并插入input

1、HTML部分

<Button type="primary" ghost @click="addRow()" style="margin: 10px 0px;">增加</Button>
<Table border :columns="rulesTableColumns" :data="rulesTableData" >
   <template slot-scope="{ row }" slot="ranking" ref="row">
       <div class="service table_slot">
           <Input v-model="row.ranking" @input="onInputText($event)" @on-focus="focusInput(row,'ranking')" placeholder="请输入" :maxlength="10" :show-word-limit="true" clearable  />
       </div>
    </template>
    <template slot-scope="{ row }" slot="standard" ref="row">
       <div class="service table_slot">
            <Input v-model="row.standard"  @input="onInputText($event)" @on-focus="focusInput(row,'standard')" placeholder="请输入" :maxlength="10" :show-word-limit="true" clearable  />
        </div>
     </template>
</Table>

2、js部分

addRow(){
    // 给table添加一行空数据
   this.rulesTableData.push({
      ranking:"",
      standard:""
   })
},
onInputText(e,index){
    // 监听指定行、指定列里input的值
   let zhList = this.rulesTableData;
   let indexs = ''
   zhList.map((item,index)=>{
       if(item.id == this.focusItem.id){
         indexs = index;
       }
   })
   this.rulesTableData[indexs][this.focusParam]=e;
},
focusInput(e,param){
   this.focusItem = e;
   this.focusParam = param;
},

效果图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值