<el-tabs v-model="editableTabsValue" type="card" editable @edit="handleTabsEdit"
tab-position="bottom" style="height: 100%;" class="renderTabs"
@keydown.native.capture.stop.self>
<el-tab-pane :key="item.name" v-for="(item, index) in editableTabs" :label="item.title"
:name="item.name" style="height: 100%;">
<!-- 在这里实现 双击可编辑tabs 标签 -->
<template slot="label">
<span v-if="!item.inputFlag"
style="display: inline-block;width: 88px;text-align: center;"
@dblclick="tabsContent(item,item.name)">
{{item.title}}
</span>
<input v-else-if="!!item.inputFlag" :ref="`myInput${item.name}`"
v-model="item.title" type="text" class="tabsInput"
@blur="item.inputFlag=false" />
<!-- <el-input type="text" name="hiddenText" style="display: none;" /> -->
</template>
</el-tab-pane>
html
//tabs的双击可编辑 //双击表格可编辑存在input框问题(2023-04-19)
tabsContent(val, index) {
// console.info(val, index, '双击编辑tabs')
val.inputFlag = true
// this.$nextTick(() => {
// console.info(this.$refs[`myInput${index}`])
// window.dragThis.$refs[`myInput${index}`][0].focus()
// });
},
js
editableTabs: [
{
title: '模板(一)',
name: '1',
inputFlag: false,
content: 'Tab 1 content'
},
{
title: '模板(二)',
name: '2',
inputFlag: false,
content: 'Tab 2 content'
}
,
{
title: '模板(三)',
name: '3',
inputFlag: false,
content: 'Tab 3 content'
}
],
data
版权声明:本文为VVVVV16原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。