本文实例为大家分享了Vue实现搜索结果高亮显示关键字的具体代码,供大家参考,具体内容如下

1. 需要解决的问题

  • 父组件将搜索的字段传到子组件
  • 子组件接受数据,正则匹配,并替换字段

2. 具体代码

父组件代码

<template>
 <div>
 <div v-if="showMe">
 <div class="re_search">
  <svg @click="$router.go(-1)">
  <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#arrow-left.6f6409e" rel="external nofollow" ></use>
  </svg>
  <input type="search" v-model="search_text" class="v-md" placeholder="请输入商品名称" @keydown.enter="search_method">
 </div>
 <OneBusiness v-for="(item, n) in search_res" :key="n" :item="item" :search_text="search_text"></OneBusiness>
 </div>
 <!--&lt;!&ndash; 撑开Fixednav挡住的位置 &ndash;&gt;-->
 <div class="space"></div>
 <!-- 固定导航栏 -->
 </div>
</template>

<script>
import { mapGetters } from 'vuex';
import OneBusiness from './small_components/One_business';
import {getSearchData} from 'src/service/getData'


export default {
 name: 'search',
 data () {
 return {
  showMe: false,
  search_text: '', // 搜索框内容
  search_res: [] // 搜索结果
 };
 },
 mounted () {
 this.$store.dispatch('setLoading', true);
 // 模拟加载
 var time = Math.floor(Math.random() * 2000);
 console.log('模拟加载用时' + time);
 setTimeout(() => {
  this.$store.dispatch('setLoading', false);
  this.showMe = true;
 }, time);
 this.search_method();
 },
 computed: {
 ...mapGetters([
  'getFalseBussinessbrief' // 商家简略信息
 ])
 },
 methods: {
 async search_method () {

  var mainWord = this.$route.params.keyword;
  if (this.search_text !== '' && this.search_text !== this.$route.params.keyword) {
  mainWord = this.search_text;
  }
  this.search_text = mainWord;
  this.search_res = (await getSearchData(this.search_text)).obj.results;
  console.log(this.search_res);
 }
 },
 components: {
 OneBusiness
 }
};
</script>

<style lang="less" scoped>
.re_search{
 background:#0096ff;
 line-height:0;
 padding: .2rem;
 svg{
 width:.6rem;
 height:.6rem;
 }
 input[type="search"]{
 display:inline-block;
 height:.9rem;
 width:8rem;
 outline: none;
 border: none;
 border-radius:.45rem;
 background:#f2f2f2;
 box-sizing: border-box;
 padding: 0 .5rem;
 font-size:.4rem;
 }
}
</style>

子组件代码

<template>
 <!-- 列表单个商家 -->
 <section class="tj_business" >
 <section class="one_business clear">
  <div class="business_img">
  <img src="/UploadFiles/2021-04-02/guozhao.png">

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?