189 8069 5689

Vue3如何实现全局搜索框

这篇文章主要介绍“Vue3如何实现全局搜索框”,在日常操作中,相信很多人在Vue3如何实现全局搜索框问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue3如何实现全局搜索框”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

乐安网站建设公司成都创新互联公司,乐安网站设计制作,有大型网站制作公司丰富经验。已为乐安上千家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的乐安做网站的公司定做!

一. 文件准备

前期你需要准备三个文件,来完成这个全局搜索框

  • SearchBar.ts文件

  • SearchBar.vue文件

  • useSearch.ts文件

Vue3如何实现全局搜索框

二. 搜索框的样式

样式问题不是本文的重点,你可以花费五分钟在 SearchBar.vue文件内速写一个非常简易的正方形 div包裹着一个 input标签即可快速进行下面的学习。

但是首先我们需要理清思路,这个组件是会出现在我们页面的最顶部的,所以它组件内部需要用到绝对布局。我们去 SearchBar.vue 去设置一个样式给最外层的 div,这里其它样式的写法使用的是 Uno CSS,没用过的小伙伴也不需要担心,它只是单纯的样式,和本文中心内容不牵扯。(CSS写成计算属性在这个场景也毫无特殊意义,只是单纯设计时考虑多了)Vue3如何实现全局搜索框Vue3如何实现全局搜索框

Vue3如何实现全局搜索框

三. 渲染函数 hrender函数(重点)

  • 打开之前准备的 SearchBar.ts文件,从 vue里引入这两个函数,并且把在上一步写好的简陋版搜索框(SearchBar.vue)引入到这个文件内。

    Vue3如何实现全局搜索框

  • 首先我们从官网的介绍,先看一下这个函数的定义。Vue3如何实现全局搜索框
    可以看出,这个函数第一个参数是必填的,可以是一个 stringComponent,这篇文章重点讨论参数为 Component 的情况。重点是这个函数的返回值,是一个 VNode,这个你一定不陌生,Virtual Node,看本篇文章的读者可能对虚拟 dom的原理可能不是那么清楚,但是我相信你们一定知道它的基本机制。Vue其实是先渲染 虚拟 dom -->然后 转换成真实 dom

  • 先别急着写代码,我想你可能更清楚这样的写法,比如我们前面在 SearchBar.vue文件内写的简单的弹出框。Vue3如何实现全局搜索框

  • 整个组件的样式都是在 Vue提供的