search搜索页面

在这里插入图片描述

顶部导航条:复用head组件

在这里插入图片描述

<v-head title="搜索" goBack=true></v-head>

搜索栏:复用search组件

在这里插入图片描述
searchRestaurant会带着输入框的参数调用后端searchRestaurant接口 后端searchRestaurant中会带着参数查询数据库 若查询到了 返回状态码200和查询结果给前端 若没有查询到 则返回状态码-1和“搜索餐馆失败”给前端

<search placeholder="请输入商品 店铺名" title="选择收货地址" :fun_click="fun_click"></search>
<script>
	fun_click(val) {
        if (!val) return;// 若啥也没输入 直接返回
        this.keyword = val;
        searchRestaurant({keyword: val}).then((response) => {
          	let res = response.data;
          	if (res.status === 200) {
            	if (res.data.length) {
              		this.searchList = res.data;
            	} else {
              		this.alertText = '找不到该餐馆,输入汉堡试试';
              		this.showTip = true;
            	}
          	} else {
            	this.alertText = res.message;
            	this.showTip = true;
		}
	})
},
</script>

搜索结果展示

在这里插入图片描述
遍历查询结果并展示 点击查询结果后跳转到相应店铺 使用to跳转

<router-link
	v-for="(item,index) in searchList"
    :to="{path:'store',query:{id:item.id}}"
    :key="index" tag="li">
    <!--商店图片-->
    <span class="avatar"><img :src="item.pic_url"></span>
    <!--商店名称 但你查询的那个字高亮-->
    <span class="name" v-html="high_light(item.name)"></span>
    <!--送达时间-->
    <span class="delivery-time">{{item.delivery_time_tip}}送达</span>
    <!--展示>这个iconfont-->
    <span class="icon"><i class="iconfont">&#xe63f;</i></span>
</router-link>
<script>
	high_light: function (value) {
    	// 用高亮的关键字取代商店名称中的关键字
        return value.replace(this.keyword, `<span style="color:#ffd161;">${this.keyword}</span>`);
      }
</script>

复用alertTip

<alert-tip :text="alertText" :showTip.sync="showTip"></alert-tip>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Elasticsearch 是一个开源的分布式搜索和分析引擎,用于实时搜索和分析大规模数据。在 Elasticsearch 中,word 搜索结果的页面展示可以通过以下几个方面来实现。 1. 搜索结果列表:在搜索结果页面上,通常会展示出与搜索词匹配的文档的列表。每个文档通常会显示标题、摘要、相关信息等,以便用户快速浏览和识别是否与其需求匹配。可以通过 Elasticsearch 的查询语句来过滤和排序搜索结果,以提供更有针对性的展示。 2. 分页与翻页:若搜索结果数量较大,需要将搜索结果分页展示。通常会显示每页的搜索结果数量和总页数,用户可以通过翻页操作浏览更多的搜索结果。可以使用 Elasticsearch 的分页查询语句,如 `from` 和 `size` 参数来实现结果的分页展示。 3. 高亮关键词:为了让用户更清晰地了解搜索结果与搜索词的匹配程度,可以将搜索词在搜索结果中进行高亮显示。Elasticsearch 提供了 `highlight` 查询,可以针对匹配的关键词添加 HTML 标签或其他样式,用以突出显示。 4. 搜索过滤器:为了让用户更方便地缩小搜索结果的范围,可以提供一些搜索过滤器,如按照时间、类型等进行筛选。这可以通过 Elasticsearch 的过滤器功能来实现,如 `range` 和 `term` 过滤器。 5. 搜索建议:为了提高用户体验,可以在搜索结果页面上提供搜索建议功能,根据用户当前的搜索词,展示相关的搜索建议。这可以通过 Elasticsearch 的自动补全功能来实现,如 `suggest` 查询。 总之,Elasticsearch 可以通过查询语句、分页查询、高亮显示、过滤器和搜索建议等功能来实现 word 搜索结果页面的展示,提供给用户更准确、便捷的搜索体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值