在做uniapp开发小程序时,实现rich-tex标签解析富文本实现列表。但是省略号在ios上使用不了
/*多行文本溢出省略号*/
.more-t {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
transition: all linear 0.2s;
}
在真机调试时,发现样式写在rich-text不生效。网上的很多在富文本内容基础上加个div语法会异常,页面也并没有生效。
解决办法是:建立一个过滤器正则处理
filters: {
/* 限制字数后添加省略号 */
subtext(str, length = 50) {
var reg = new RegExp("<[^>]+>", "g"); //正则识别去掉富文本
var str = str.replace(reg, '');
str = str.replace(/&[a-zA-Z]+\;/gi, '') //正则去掉 &开头中间英文最后分号的未识别的富文本符号
str = str.replace(/[\t\n\r\f\v ]+/g, '') //正则去掉空格,换行等
// 如果超出指定长度,则截取并使用省略号
if (str.length >= length) {
return str.substring(0, length) + '...';
} else {
return str;
}
}
},
<rich-text :nodes="item.content|subtext"></rich-text>