<el-table :data="data.tableData" height="60vh" border scrollbar-aways-on>
<el-table-column label="序号" type="index" width="80" fixed />
<el-table-column label="操作" width="120" fixed>
<template #default="{ row }">
<el-button type="danger" text @click="deleteBtn(row)" :disabled="row.status">删除</el-button>
<el-button style="color: #3592FF" text @click="enableBtn(row)">{{ row.status ? '停用' : '启用' }}</el-button>
</template>
</el-table-column>
<el-table-column prop="status" label="状态" width="120" />
<el-table-column prop="phone" label="手机号" />
<el-table-column prop="kanno" label="操作人" />
<el-table-column prop="kanno" label="操作时间" />
<el-table-column prop="kanno" label="创建人" />
<el-table-column prop="createTime" label="创建时间" />
<el-table-column label="姓名">
<template #default="scope">
<template v-if="scope.cellIndex == cellIndex && scope.$index == index">
<el-input v-model="scope.row.status" @blur="saveCell" />
</template>
<template v-else>
<div @click="editCell(scope, scope.$index)">{{ scope.row.status }}</div>
</template>
</template>
</el-table-column>
</el-table>
const cellIndex = ref('')
const index = ref('')
function editCell(row, ind) {
cellIndex.value = row.cellIndex
index.value = ind
}
function saveCell() {
cellIndex.value = ''
index.value = ''
}
效果如下
点击第一行的文本
点击第二行文本