vue,大段落文本,里面特殊字符,特殊样式显示

效果图:

在这里插入图片描述

代码


<template>
  <div>
    <div v-html="showContentStyle(content)"></div>
  </div>
</template>

<script>
export default {
  components: {
    changeTab,
  },
  data() {
    return {
      searchWord: "浙江",
      searchWord1: "领导",
      searchWord3: ["领导", "浙江", "", "公司"],  
      content:
        "尊敬的领导你好,我反应的情况是中国水利水电工程十二局有限公司浙江公司,拖欠我的装载机租金和驾驶员工资。 我在四川甘孜州道孚县瓦日乡密瓦9标修建雅砻江电站修复建路,买了一台三陵装载机在密瓦9标拌合站上料拌混凝土,2019年欠我5万元钱,, ,每次找领导他们都说没有钱,都说总成包(四川勘察研究院有限公司)不给钱没有办法,我也是实在没有办法了才向浙江领导求助,到2020年11月底工地完工一共欠我15.075万元。到现在他们的领导都不知道在哪里,谢谢!希望领导能帮我解决一下困难, 四川省甘孜州道孚县瓦日乡(雅砻江电站复建路密瓦9标中国水利水电十二工程局)",
     
    };
  },
  computed: {
    showContentStyle() {
      let info = this;
      return (node) => {
        // 配置特殊文字的颜色
        function state(status,style) {
          let state = new Map([
            [info.searchWord, {color:'#ccc',size:'4'}], //  指定字段
            [info.searchWord1,{color:'red',size:'4'}],
            ["公司", {color:"#539C01",size:'4'}],
          ]);
          return state.get(status)[style];
        }
        // 循环获有样式的取字符串
        this.searchWord3.map((item, index) => {
        // 遇到 '' 直接返回
          if (item === "") return;
          node = node.replace(new RegExp(item, "g"), (obj) => {
            return `<font color="${state(item,'color')}" size="${state(item,'size')}">${obj}</font>`;
          });
        });
        return node;
      };
    },
    },
  },
  methods: {
    show() {},
  },
};
</script>

<style lang="less" scoped></style>


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值