• 小程序中实现本地搜索中将含有搜索关键字标红(用的uniApp)


    WXML:

    <view class="header">
      <input
        class="input"
        placeholder-class="uni-input-placeholder"
        placeholder="请输入搜索内容"
        v-model.trim="qString"
        @confirm="handleSearch"
        @input="handleValue"
      />
      <uni-icons class="icon" type="search" color="#B5B5B5" size="23" />
    </view>
    // 显示红色字体的标题
    <rich-text :nodes="item.storeName | filterTitle(qString)" v-if="showRedText">
    </rich-text>
    <rich-text :nodes="item.storeName" v-else>
    </rich-text>

    JS:

    数据:

     const storeList = [
      {
        id: 1,
        title: '咖啡哈哈哈哈嘿嘿嘿和嘿嘿',
        address: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
      },
      {
        id: 2,
        title: '上海的某某某咖啡哈哈哈',
        address: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
      }
     ]

    data () {
      return {
        storeList, // 数据列表
        qString: '', // 搜索框的内容
        searchList: [], // 搜索出来的结果
        showRedText: false // 是否显示红色字体的标题
      }
    },
    created () {
      // 进页面的时候把数据赋值,用searchList来渲染
      this.searchList = this.storeList
    },
    filters: {
      // 标题的某些被搜索到的文字显示红色的过滤器
      filterTitle(val, key) {
        return key ? '<div class="uni-ellipsis uni-title">' + val.replace(key, '<span style="color:red;">' + key + '</span>') + '</div>' : '<div class="uni-ellipsis uni-title">' + val + '</div>'
      }
    },
    methods: {
      handleSearch () {
        let { storeList, qString } = this
        this.showRedText = true // 当点击搜索的时候再让字体变红
        // 搜索的时候当含有搜索的值的数据进行过滤---拿到新的数据
        this.searchList = storeList.filter(arg => arg.title.includes(qString))
      },
      handleValue (e) {
      // 当清空的时候恢复原来的数据
        if (!e.target.value) {
          this.searchList = this.storeList
        }
      }
    }

  • 相关阅读:
    BZOJ 4805: 欧拉函数求和 杜教筛
    BZOJ 2694: Lcm 莫比乌斯反演 + 积性函数 + 线性筛 + 卡常
    BZOJ 2693: jzptab 莫比乌斯反演 + 积性函数 + 筛法
    BZOJ 2154: Crash的数字表格 莫比乌斯反演
    BZOJ 3884: 上帝与集合的正确用法 扩展欧拉定理 + 快速幂
    BZOJ 3595: [Scoi2014]方伯伯的Oj Splay + 动态裂点 + 卡常
    GitHub的使用
    Selenium模块的安装
    关于__new__和__init__
    博客一键保存本地exe可视化界面文件
  • 原文地址:https://www.cnblogs.com/qianxiaoniantianxin/p/14470250.html
Copyright © 2020-2023  润新知