微信小程序开发使用 rich-text 组件渲染html格式的代码,常常因为不能自定义css导致文本不能缩进,以及图片不能居中等问题,这里可以考虑使用js的replace方法,替换字符串,然后在渲染的同时加载行内样式。
页面上加载
<rich-text :nodes="goodsDetail.detail"></rich-text>
var richtext= this.goodsDetail.detail;
const regex = new RegExp('<img', 'gi');
richtext = richtext.replace(regex, `<img style="max-width:100%;height:auto;display:block;"`);
this.goodsDetail.detail = richtext;
replace里的g表示全局替换,而每个关键词前面的\则为转义字符,在针对html类的标签替换的时候,是必不可少的。这个方法还支持拓展关键词增加如果有需求可以自行添加,需要自定义的css样式则可以在所替换的字符串关键词里定义。