vue3点击表格某个单元格文本就切换成输入框,其他单元格不变化

html 复制代码
<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>
javascript 复制代码
const cellIndex = ref('')
const index = ref('')

function editCell(row, ind) {
    cellIndex.value = row.cellIndex
    index.value = ind
}
function saveCell() {
    cellIndex.value = ''
    index.value = ''
}

效果如下

点击第一行的文本

点击第二行文本

相关推荐
程序员Sunday8 小时前
JavaScript 事件循环面试题,宏任务与微任务怎么执行|Sunday面试指南
开发语言·javascript·面试·校招·事件循环·程序员sunday
志尊宝8 小时前
Vue3 零基础每日笔记(073):keep-alive 页面缓存实战——列表页返回不丢状态
vue.js·笔记·缓存·#vue #前端 #前端开发·#javascript·#vue.js
默_笙9 小时前
🌊 向量库和 ES 都查不出"关系",我只好给奶茶建了一张人脉网
前端·javascript
思无邪6610 小时前
用 AI 做 JS 逆向:从抓包到复现的完整方法论
开发语言·javascript·人工智能
福兮说11 小时前
浏览器里把 iPhone 的 HEIC 转成 JPG:Chrome 解不开、转完大了七成、拍摄时间全丢,六个坑实测
前端·javascript·图像处理·chrome·ios·iphone·heic
可乐鸡翅yeah_12 小时前
video.js 集成 hls.js 开发 M3U8 播放器,新手高频踩坑
开发语言·前端·javascript·后端·ecmascript·m3u8·音视频在线播放
用户1179536547814 小时前
TRAE vs Claude Code 性能对比:从代码生成、多文件重构到底层吞吐,谁更适合你的日常开发?
javascript
kill52215 小时前
useRef
前端·javascript·react.js
米多科技15 小时前
我做了一个 3D 虚拟世界基底,在上面再搭 3D 世界或元宇宙,事半功倍
javascript·人工智能·github
霍营_托尼16 小时前
纯前端播 40GB 本地视频?我把浏览器改造成了「磁盘流式」播放器
前端·javascript·音视频开发