React前端库,table中的每列内容,进行强制换行的解决方法
2018-03-02 15:22
1211 查看
1.问题描述:
管理系统的前端实现用的是React+ant design,但是React的table,每列的值,如果用<br />或者/r/n 来实现,则还是换行无效。如下图,SN值是多个以分号分隔的值,现在希望多个sn值能分行显示,将分号替换成 <br />或者/r/n ,列值就变成了"value1 <br />value2 " 或者"value1 /r/n value2",还是换行无效。也就是单元格换行无效。
2. 问题原因:
因为和其他的前端库不同,例如easyUI或者bootstrap,React中的table的单元格,利用后端返回的列值,直接替换字符串中的分隔符为<br>或者/r/n来换行,是无效的。
3.解决方法:
将前端代码的table的column代码中,要换行的那列,配置render属性,将标签<br></br>和每个显示值 混搭的方式,返回给列来显示(千万不能把标签放到引号里面,否则不识别其是标签)。
(1)截图如下:
(2)代码如下:
columns: [
{
title: '服务器IP',
dataIndex: 'ip',
}, {
title: 'SN',
dataIndex: 'sn',
render: (text, record) =>{
let snArray=[];
snArray=text.split(";");
let br=<br></br>;
let result=null;
if(snArray.length<2){
return text;
}
for(let i=0;i<snArray.length;i++){
if(i==0){
result=snArray[i];
}else{
result=<span>{result}{br}{snArray[i]}</span>;
}
}
return <div>{result}</div>;
}
}, {
title: '服务',
dataIndex: 'pathName'
}, {
title: '级别',
dataIndex: 'priority',
render: function (data) {
if (data === 0) {
return <Badge status="error" text="Critic"/>
} else {
return <Badge status="warning" text="Warning"/>;
}
}
}, {
title: '创建时间',
dataIndex: 'creatDate',
render: function (data) {
return moment(data).format("YYYY-MM-DD HH:mm:ss");
}
}]
管理系统的前端实现用的是React+ant design,但是React的table,每列的值,如果用<br />或者/r/n 来实现,则还是换行无效。如下图,SN值是多个以分号分隔的值,现在希望多个sn值能分行显示,将分号替换成 <br />或者/r/n ,列值就变成了"value1 <br />value2 " 或者"value1 /r/n value2",还是换行无效。也就是单元格换行无效。
2. 问题原因:
因为和其他的前端库不同,例如easyUI或者bootstrap,React中的table的单元格,利用后端返回的列值,直接替换字符串中的分隔符为<br>或者/r/n来换行,是无效的。
3.解决方法:
将前端代码的table的column代码中,要换行的那列,配置render属性,将标签<br></br>和每个显示值 混搭的方式,返回给列来显示(千万不能把标签放到引号里面,否则不识别其是标签)。
(1)截图如下:
(2)代码如下:
columns: [
{
title: '服务器IP',
dataIndex: 'ip',
}, {
title: 'SN',
dataIndex: 'sn',
render: (text, record) =>{
let snArray=[];
snArray=text.split(";");
let br=<br></br>;
let result=null;
if(snArray.length<2){
return text;
}
for(let i=0;i<snArray.length;i++){
if(i==0){
result=snArray[i];
}else{
result=<span>{result}{br}{snArray[i]}</span>;
}
}
return <div>{result}</div>;
}
}, {
title: '服务',
dataIndex: 'pathName'
}, {
title: '级别',
dataIndex: 'priority',
render: function (data) {
if (data === 0) {
return <Badge status="error" text="Critic"/>
} else {
return <Badge status="warning" text="Warning"/>;
}
}
}, {
title: '创建时间',
dataIndex: 'creatDate',
render: function (data) {
return moment(data).format("YYYY-MM-DD HH:mm:ss");
}
}]
相关文章推荐
- MyEclipse控制台输入中文再进行输出出现内容前面有字母解决方法
- ios tableView那些事 UITableView中Cell重用机制导致内容重复解决方法
- Tips: 解决XSLT中table内容<br/>换行问题
- Latex 中 Table中不显示 footnote, 表格强制分行, 解决方法
- Div和Table自动换行解决方法
- dedecms织梦系统内容页英文字母不换行的解决方法
- Android中TextView中内容不换行的解决方法
- ios tableView那些事 (十六) UITableView中Cell重用机制导致内容重复解决方法
- Qt中QPushButton、QTabWidget等部件内容文字换行的解决方法(一定要写在源码里,写在翻译文件里不行,因为\n得不到转义)
- ios tableView那些事 (十六) UITableView中Cell重用机制导致内容重复解决方法
- 关于table固定宽高以及td内容过长换行的解决办法
- 关于table表格 td里内容较多换行的处理方法
- 浅析响应式框架中,table表头自动换行的快速解决方法
- ios tableView UITableView中Cell重用机制导致内容重复解决方法
- bootstrap-table表头固定,表内容不对齐的另类解决方法
- Android中TextView中内容不换行的解决方法
- 将richTextBox中的内容写入txt文件发现不换行(解决方法),在richTextBox指定位置插入文字
- ios tableView那些事 (十六) UITableView中Cell重用机制导致内容重复解决方法
- Table内容换行,省略方法.
- ios tableView那些事 (十六) UITableView中Cell重用机制导致内容重复解决方法