實現原理就是監聽雙擊事件把對應格的span改成input就行,失去焦點保存。數組
這裏使用的是isEdit數組,對應儲存這一列每一個格的編輯狀態bash
<el-table-column header-align='center' label="實際投入人數" width="140">
<template slot-scope="{row}">
<span v-if="!isEdit[row.index]">{{row.biz_real_person_count}}</span>
<el-input v-if="isEdit[row.index]" @blur="saveEdit(row)" v-model="row.biz_real_person_count" placeholder="請輸入內容"></el-input>
</template>
</el-table-column>
複製代碼
<el-table :data="data" border @cell-dblclick="rowDblclick">
·····
</el-table>
複製代碼
在method中的代碼this
rowDblclick(row, column, cell, event) {
//判斷是不是須要編輯的列 再改變對應的值
if(column.label == '實際投入人數') {
/*第一個參數是你要改變的數組,
第二個參數是你要改變數組中對應值的索引,
第三個參數是你要將這個值改爲什麼*/
this.$set(this.isEdit, row.index, true)
}
}
複製代碼
saveEdit(row) {
this.$set(this.isEdit, row.index, false)
··········
},
複製代碼