el-table-column 的 show-overflow-tooltip屬性


在 Element UI 框架中,el-table-column 屬性 show-overflow-tooltip 意思是:當內容過長被隱藏時顯示 tooltip(默認值為 false)。但是有時候會出現一些莫名其妙的BUG,比如,和 el-form 配合使用時,鼠標碰上去會顯示報錯的信息而不是內容的信息,還有一些很奇葩的顯示。所以本文給大家帶來一個替代方案...

 

解決方案:el-tooltip + filter + ellipsis
下面舉例一個偽代碼(此場景是對el-table可進行編輯單元格),思路看懂了就行,用的也是此框架中的另一個組件——“el-tooltip”。

HTML

 1 <el-table-column>
 2   <template slot-scope="scope">
 3     <el-tooltip effect="dark" :content="scope.row.customparamName" :disabled="scope.row.customparamName | ellipsis" placement="top">
 4       <div>
 5         <span v-if="scope.row.isRead" class="ellipsis diyname-ellipsis-width">{{ scope.row.customparamName }}</span>
 6         <el-form-item v-else :prop="'table.' + scope.$index + '.customparamName'" :rules="rules.customparamName">
 7           <el-input class="edit-input" v-model="scope.row.customparamName" placeholder="輸入自定義名稱" />
 8         </el-form-item>
 9       </div>
10     </el-tooltip>
11   </template>
12 </el-table-column>

Ps:注意這里 el-tooltip 子節點里只能有一個節點,多個的話會出BUG。

Style

 1 .diyname-ellipsis-width {
 2 display: inline-block;
 3 width: 118px;
 4 }
 5 
 6 .ellipsis {
 7 overflow: hidden;
 8 white-space: nowrap;
 9 text-overflow: ellipsis;
10 }

JS

 1 filters: {
 2   ellipsis (value) {
 3     // console.log('ellipsis value:'+ value)
 4     let width = getTextWidth(value)
 5     // console.log(width)
 6     if (width > 110) {
 7       return false
 8     }
 9     return true
10   }
11 }

 

————————————————
版權聲明:本文為CSDN博主「Lux_Sun」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Dream_Weave/java/article/details/99687469


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM