Element-ui 中tabs 标题过长解决办法
前言:在使用tabs 标签时,有的时候ttile很长,想要在超出一定值时出现省略号。
实现效果:
模板代码:
<template> <div class="tabs-app"> <el-tabs v-model="editableTabsValue" type="card" editable @edit="handleTabsEdit"> <el-tab-pane :key="item.name" v-for="(item) in editableTabs" :label="item.title" :name="item.name"> {{item.content}} </el-tab-pane> </el-tabs> </div> </template>
样式代码:
<style lang="scss" scoped> // tabs标签标题过长解决样式 .tabs-app{ /deep/ .el-tabs__item{ position: relative; display: inline-block; white-space: nowrap; max-width: 130px; overflow: hidden; text-overflow:ellipsis; .el-icon-close{ position: absolute; top: 13px; right: 3px; } } /deep/ .el-tabs__header{ .is-closable:hover{ padding-left: 10px; padding-right: 20px; } } /deep/ .el-tabs__nav{ line-height: 10px; } } </style>
源代码:
<template> <div class="tabs-app"> <el-tabs v-model="editableTabsValue" type="card" editable @edit="handleTabsEdit"> <el-tab-pane :key="item.name" v-for="(item) in editableTabs" :label="item.title" :name="item.name"> {{item.content}} </el-tab-pane> </el-tabs> </div> </template> <script> export default { data () { return { editableTabsValue: '2', editableTabs: [{ title: 'Tab 1', name: '1', content: 'Tab 1 content' }, { title: 'element tabs 标题过长element tabs 标题过长element tabs 标题过长element tabs 标题过长element tabs 标题过长', name: '2', content: 'Tab 2 content' }], tabIndex: 2 } }, methods: { handleTabsEdit (targetName, action) { if (action === 'add') { let newTabName = ++this.tabIndex + '' this.editableTabs.push({ title: 'New Tab', name: newTabName, content: 'New Tab content' }) this.editableTabsValue = newTabName } if (action === 'remove') { let tabs = this.editableTabs let activeName = this.editableTabsValue if (activeName === targetName) { tabs.forEach((tab, index) => { if (tab.name === targetName) { let nextTab = tabs[index + 1] || tabs[index - 1] if (nextTab) { activeName = nextTab.name } } }) } this.editableTabsValue = activeName this.editableTabs = tabs.filter(tab => tab.name !== targetName) } } } } </script> <style lang="scss" scoped> // tabs标签标题过长解决样式 .tabs-app{ /deep/ .el-tabs__item{ position: relative; display: inline-block; white-space: nowrap; max-width: 130px; overflow: hidden; text-overflow:ellipsis; .el-icon-close{ position: absolute; top: 13px; right: 3px; } } /deep/ .el-tabs__header{ .is-closable:hover{ padding-left: 10px; padding-right: 20px; } } /deep/ .el-tabs__nav{ line-height: 10px; } } </style>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构