首页 > 其他分享 >搜索历史和搜索建议、搜索结果的逻辑展示组件

搜索历史和搜索建议、搜索结果的逻辑展示组件

时间:2022-10-20 20:25:47浏览次数:55  
标签:逻辑 展示 建议 keywords 搜索 组件 input

搜索逻辑的判断展示思路

* 1. 如果 keywords 是空,就显示搜索历史    * 2. 如果 input 聚焦,并且搜索关键词 keywords 不为空,就显示搜索建议    * 3. 点击搜索按钮或者在input框聚焦状态下按下 enter 触发 input 的时候展示搜索结果
  <form action="/">
      <van-search
        class="searchBox"
        v-model="keywords"
        show-action
        background="#4694fa"
        placeholder="请输入搜索关键词"
        @search="onSearch(keywords)"
        @cancel="$router.go(-1)"
        @focus="suggestShow = true"
      />
      <!-- 搜素历史 关键词为空 -->
      <searchHistory
        @search="onSearch"
        :search-histories="searchHistories"
        v-if="keywords === ''"
      ></searchHistory>
      <!-- lishi -->
      <!-- 搜素建议 关键词不为空而且触发了聚焦事件显示建议组件 -->
      <searchSuggest
        v-else-if="suggestShow"
        :keywords="keywords"
        @search="onSearch"
      ></searchSuggest>
      <!-- 搜索结果 -->
      <searchResult v-else :keywords="keywords"></searchResult>
    </form>

ps:action 不为零为了ios的手机端输入的时候显示搜索按钮 ;

关系:

 

 搜索框 index.vue 和 搜索建议的关系 ;

in

 

 

 

 

  <form action="/">       <van-search         class="searchBox"         v-model="keywords"         show-action         background="#4694fa"         placeholder="请输入搜索关键词"         @search="onSearch(keywords)"         @cancel="$router.go(-1)"         @focus="suggestShow = true"       />       <!-- 搜素历史 关键词为空 -->       <searchHistory         @search="onSearch"         :search-histories="searchHistories"         v-if="keywords === ''"       ></searchHistory>       <!-- lishi -->       <!-- 搜素建议 关键词不为空而且触发了聚焦事件显示建议组件 -->       <searchSuggest         v-else-if="suggestShow"         :keywords="keywords"         @search="onSearch"       ></searchSuggest>       <!-- 搜索结果 -->       <searchResult v-else :keywords="keywords"></searchResult>     </form>

标签:逻辑,展示,建议,keywords,搜索,组件,input
From: https://www.cnblogs.com/zhulongxu/p/16811115.html

相关文章

  • 搜索功能实现 - 搜索建议组件的封装 - 防抖 - 关键词高亮
     //父组件传1个值关键词 //子组件的emit自定义的search事件会委托父组件改变keywords的值然后更新props的keywords然会触发watch的handler函数然......
  • : 搜索功能实现 - 搜索结果组件的封装 - 上拉加载
    传值keywords <template><van-listv-model="loading":finished="finished"finished-text="没有更多了"@load="onLoad"><van-cellv-fo......
  • 6-1 是否二叉搜索树
    本题要求实现函数,判断给定二叉树是否二叉搜索树。函数接口定义:boolIsBST(BinTreeT);其中BinTree结构定义如下:typedefstructTNode*Position;typedefPosition......
  • VueX和组件传参
    组件的传参父传子props子传父事件$emit引用父组件$parent引用子组件$children/$refs引用根组件$root最大组件事件bus传参(跨层级访问数据)(非父子关系)创......
  • .NET Core Onvif协议C#教程系列之XiaoFeng.Onvif组件库
        物联网IOT大背景下音视频领域的Onvif协议在2008年成为全球性的开放接口标准。   于是一批开发者涌入该技术领域使用各种编程语言对其改造升级封装。 ......
  • 基础篇——三、组件的生命周期
    三、组件的生命周期只有类组件才有生命周期,函数组件没有生命周期1,挂载阶段被创建,执行初始化,并被挂载到dom,完成第一次渲染。依次调用:constructor是es6class的构造方......
  • UI组件
    UI组件基本UI组件文本组件按钮组件日期时间类组件ImageView文本框语法用于显示文本信息属性<TextView android:layout_width="wrap_content" android:l......
  • 二叉搜索树的最近公共祖先
    一.递归publicTreeNodelowestCommonAncestor(TreeNoderoot,TreeNodep,TreeNodeq){if(root.val<p.val&&root.val<q.val)return......
  • 服务器端调用Word组件读取Word权限、未将对象引用到对象实例终极解决方案
    最近因为业务需要,需要在服务器上调用Word组件,结果遇到各种问题,比如检索COM类工厂中CLSID为{000209FF-0000-0000-C000-000000000046}的组件失败、未将对象引用到对象......
  • uniapp 关于全局提示组件 感悟
    web端可能可以,但是小程序就算了,小程序的话有一个插件能但是也繁琐,所以我的想法是这样的:参考:参考博客 自解决:跳转的时候携带code,判断code是什么然后显示啥,,,, ......