明霞山资源网 Design By www.htccd.com
本文实例为大家分享了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>
<!--<!– 撑开Fixednav挡住的位置 –>-->
<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.htccd.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
明霞山资源网 Design By www.htccd.com
暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。