前言
最近不是太忙,就翻了翻之前写的项目,分享一些学到的东西,之前写过的一个小程序,有要求一段文本显示指定字数,多出文本的用省略号代替这样的需求,说实话,没写过这样需求,也是搜集了大量博客文档才找到好用的方法,亲测有用哦!如果是你想要的需求,就请看一下这篇博客吧!
实现代码
我用的是过滤器,新建一个wxs文件,因为是富文本,需要先将富文本转为普通文本,然后再利用splice方法截取指定字数的文本然后加上省略号
实现代码,如下
// wxs文件
var hidden={
subStr:function(val) {
var reg = getRegExp("<[^>]+>", "g");
val = val.replace(reg,'')
val = val.replace('/\s+/g','')
if (val.length == 0 || val == undefined) {
return '';
} else if (val.length > 41) {
return val.slice(0,41) + "...";
}else{
return val;
}
}
}
module.exports={
subStr:hidden.subStr
}
使用过滤器
首先要使用wxs标签引入过滤器,src为过滤器所在wxs文件的相对路径,最后在需要的地方去使用过滤器。
代码如下(示例):
<wxs module="hidden" src="./index.wxs"></wxs>
<view class="ListContent">{{hidden.subStr(test)}}<text style="color:#007AFF" bindtap="detail" data-id="{{item.id}}" >查看</text></view>
总结
以上就是实现富文本显示指定字数文本的方法,亲测有用,如果有博友或大佬有更好的方法,欢迎下方评论区畅所欲言哟!