微信小程序搜索结果文字匹配变色

一、搜索结果匹配变色如图
在这里插入图片描述
二、代码
1、wxml

<view class="list">
      <text>*</text>企业名称
      <input type="text" placeholder="请输入企业名称"  placeholder-class="placeholder-style" bindinput="companyInput" bindblur="conpanyBindblur"/>
    </view>
    <!-- 模糊搜索 -->
    <view class="company" wx:if="{{componyShow}}" >
      <view class="clist" wx:for="{{comlist}}" wx:key="key"><rich-text class="rich" nodes="{{item.name}}"></rich-text> </view>
    </view>
    <!-- 模糊搜索结束 -->

2、js

data:{
    companyName: '', //实习企业名称
    componyShow: false, //模糊搜索结果显示与否
    comlist:[],//用于显示模糊搜索结果
    company: [{
      name: '东莞市天蓝培训中心有限公司',
      id: '121'
    }, {
      name: '东莞市清溪乐亚美幼儿园',
      id: '122'
    }, {
      name: '东莞市莞御科技有限公司',
      id: '123'
    }, {
      name: '全喜自动化科技有限公司全喜自动化科技有限公司全喜自动化科技有限公司全喜自动化科技有限公司',
      id: '123'
    }, {
      name: '东莞市贝贝甜心幼儿园',
      id: '123'
    }, {
      name: '东莞市全知技术有限公司',
      id: '123'
    }, {
      name: '东莞市天蓝培训中心有限公司',
      id: '123'
    }], //模糊搜索结果
},
 // 企业名称
  companyInput(e) {
    this.setData({
      companyName: e.detail.value
    })
    if (this.data.companyName != '') {
      this.setData({
        componyShow: true
      });
      //重点代码,进行替换
      var ncom=this.data.company.map((o) => ({'name': o.name.replace(this.data.companyName, "<span style='color:#F68058;'>" + this.data.companyName + "</span>"), 'id': o.id}));
      this.setData({
        comlist: ncom
      });
    } else {
      this.setData({
        componyShow: false
      })
    }
  },
  // 实习企业失去焦点
  conpanyBindblur() {
    this.setData({
      componyShow: false
    })
  },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值