网络编程
位置:首页>> 网络编程>> JavaScript>> 关于vue中element-ui form或table lable换行的问题

关于vue中element-ui form或table lable换行的问题

作者:一颗甜橙树  发布时间:2023-07-02 17:07:31 

标签:vue,element-ui,form,table,lable

element-ui form或table lable换行问题

今天在写项目,突然遇到个需求,需要将form里面的lable换行,百度了下,发现了一个办法,特此记录下来

First,我们先要在我们的lable里面进行以下操作

:label="'机组: \n(xxx用)'"

双引号嵌套单引号 在需要换行的文字中间 加入\n 换行符

Second,再添加css的样式

/deep/ .el-form-item__label{
   white-space:pre-line;
}
//如果是table的话就
/deep/ .el-table .cell{
   white-space:pre-line;
}

记得加上deep进行穿透

  • white-space规定段落中的文本不进行换行

  • pre-line文本中连续的空格会被合并,在遇到换行符/n 或者<br/>元素的时候会换行

关于vue中element-ui form或table lable换行的问题

element table组件内容\n换行解决

项目使用<el-table>组件

<el-table :data="warnings" :row-class-name="highlightRow" v-loading="isLoading">
   <el-table-column label="ID" prop="id"/>
   <el-table-column label="时间" prop="time"/>
   <el-table-column label="身份证号" prop="idCardNo" width="300"/>
   <el-table-column label="车牌号" prop="busno"/>
   <el-table-column label="车站" prop="busstop"/>
   <el-table-column label="相似度" prop="sim"/>
   <el-table-column label="详情">
       <template slot-scope="scope">
           <el-button @click="detail(scope.row)" type="primary" size="mini" plain>查看
           </el-button>
       </template>
   </el-table-column>
   <el-table-column label="确认时间" prop="acktime" :formatter="timeFormatter"/>
</el-table>

由于<el-table>中的数据源是直接给了一个对象,所以table中的每一个cell用户都不用管,要使身份证号  这一列内容以\n换行。首先后台传数据要在内容需要换行处拼接"\n"字符串。

关于vue中element-ui form或table lable换行的问题

 1.直接将warnings数据源中的每一个元素的对象中的字段用split分割,再用join拼接\n换行符之后,希望它能够起作用。但是实际F12 DOM树中的文字看到是进行了换行,但是el-table的cell纹丝不动。

2.使用<pre>标签的内容自动换行。<pre> 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。

3.先尝试使用:word-wrap: break-word;将内容自动换行,IE,OP,Chrome,Safari都可以,FF就悲剧了。

4.查看了pre的浏览器默认样式中真正起作用的是white-space: pre这一条。

看看white-space的值

  • normal默认。空白会被浏览器忽略。

  • pre空白会被浏览器保留。其行为方式类似 HTML 中的<pre> 标签。

  • nowrap文本不会换行,文本会在在同一行上继续,直到遇到 <br>标签为止。

  • pre-wrap保留空白符序列,但是正常地进行换行。

  • pre-line合并空白符序列,但是保留换行符。

  • inherit规定应该从父元素继承 white-space 属性的值。

按照我的需求,我希望它保留换行符

于是添加了样式:

.el-table .cell {
 white-space: pre-line;
}

添加样式完之后身份证号,这一列内容终于出现换行

如若添加完样式之后没有反应,可能是添加的位置不对,自己再好好核对一下

关于vue中element-ui form或table lable换行的问题

来源:https://blog.csdn.net/kikikiuu/article/details/107641912

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com