Vant---vant中search组件完成完整搜索功能详解

本文展示了如何在 Vue.js 中创建一个完整的搜索组件,包括搜索栏、搜索结果、联想建议和搜索历史。使用了 Van-Search 组件来构建搜索框,并通过数据属性控制搜索结果的显示与隐藏。在用户进行搜索操作时,`onSearch` 方法被触发,显示搜索结果;点击取消按钮,`onCancel` 方法将用户带回前一页。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<template>
  <div class="search-container">
    <!-- 搜索栏 -->
    <form action="/">
      <van-search
        v-model="value"
        show-action
        placeholder="请输入搜索关键词"
        @search="onSearch"
        @cancel="onCancel"
        background="#0069db"
        @focus="isResultShow = false"
      />
    </form>
    <!-- 搜索栏 -->
    <!-- 搜索结果 -->
    <searchResult v-if="isResultShow" />
    <!-- 搜索结果 -->
    <!-- 联想建议 -->
    <searchSuggestion v-else-if="value" />
    <!-- 联想建议 -->
    <!-- 搜索历史 -->
    <searchHistory v-else />
    <!-- 搜索历史 -->
  </div>
</template>

<script>
import searchHistory from './components/search-history'
import searchSuggestion from './components/search-suggestion.vue'
import searchResult from './components/search-result'
export default {
  name: 'searchIndex',

  data() {
    return {
      value: '',
      isResultShow: false //控制搜索结果的显示与隐藏
    };
  },
  components: {
    searchHistory,
    searchSuggestion,
    searchResult
  },
  mounted() {

  },

  methods: {
    onSearch() {
      this.isResultShow = true
    },
    onCancel() {
      this.$router.back()
    }
  }
}
</script>

<style lang="less" scoped>
.search-container {
  .van-search__action {
    color: #fff;
  }
}
</style>

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cirrod

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值