工作中的需要,找了多个中央总结进去的,给有须要的小伙伴!

 <el-table :data="powerMessageTableAll" border :cell-class-name="tableCellClassName" @cell-click="handleCurrentChange">    <el-table-column label="名字" prop="name" align="center">        <template slot-scope="scope">            <el-input v-if="scope.row.index === tabClickIndex && scope.column.index === tableCellClickColumnIndex"             ref="gain" v-model="scope.row.name" type="input" style="width: 100%;hight:100%"             @blur="handleSave(scope)" />            <span v-else>{{ scope.row.name }}</span>        </template>    </el-table-column>    <el-table-column label="工夫" prop="ctime" align="center">        <template slot-scope="scope">            <el-date-picker v-if="scope.row.index === tabClickIndex && scope.column.index === tableCellClickColumnIndex"              ref="gain" v-model="scope.row.ctime" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 100%;hight:100%"              @blur="handleSave(scope)" />            <span v-else>{{ scope.row.ctime }}</span>        </template>    </el-table-column></el-table>
data:{     tabClickIndex: null, // 点击的单元     tableCellClickColumnIndex: null,      powerMessageTableAll: [        {          name: "小红",          ctime: "2017-08-14",        },        {          name: "小名",          ctime: "2022-08-14",        },      ],}
tableCellClassName({ row, column, rowIndex, columnIndex }) {      row.index = rowIndex;      column.index = columnIndex;    },handleCurrentChange(row, column, event) {  this.tabClickIndex = row.index;  this.tableCellClickColumnIndex = column.index;  this.$nextTick(() => {    this.$refs.gain.focus(); //显示文本框并获取焦点  });},handleSave() {  this.tabClickIndex = null;  this.tableCellClickColumnIndex = null;},//聚焦这块有优化的空间,应该是让以后抉择的input框聚焦,JS都忘差不多,也没有去找,应该是event找到对应的子元素而后focus的,工作中的小伙伴有优化的话,麻烦在底下贴下!