大概需求:就点击table上某列的字段。然后即可在table上编辑数据。数据失去焦点后即可触发保存的事件。

关于无关紧要的代码,你可以不看,因为灭有用。看重点代码。

1.table中添加插槽名字如:

栗子:

重点位置:scopedSlots:{customRender:‘orderNum’}插槽名字orderNum

{title:'显示顺序',dataIndex: 'orderNum',scopedSlots: { customRender: 'orderNum' }},

2.在temlplment中添加插槽:

关键位置:重点在div-slot,这边的v-if是有数据就隐藏。通过给span点击事件直接把隐藏变成显示插槽。通过v-model动态绑定值这个你应该懂,@blur是焦点触发后调用的,往下看有写

 <div slot="orderNum" slot-scope="text,record,index">
          <a-input-number v-if="record.isEdit" v-model="record.orderNum" @blur="blurorderNum($event, record)"></a-input-number>
          <span v-else  @click="record.isEdit = true">{{text}}</span>
        </div>

3.@blur焦点消失触发:

 this.tHotApi.api,这个是调用保存的接口。你的接口和我的不一样,自己写就行。

重点在保存成功后一定要在调用一次获取列表的接口,我这边是写在getList方法。

Logo

前往低代码交流专区

更多推荐