【每天学一点-06】在Vue中使用Vant-Picker选择器,并且给选择器添加一个类似Antd-Select-showSearch的搜索功能

一、需求梳理

1、Vant-Picker 文档

【每天学一点-06】在Vue中使用Vant-Picker选择器,并且给选择器添加一个类似Antd-Select-showSearch的搜索功能

2、Antd-Select 文档

【每天学一点-06】在Vue中使用Vant-Picker选择器,并且给选择器添加一个类似Antd-Select-showSearch的搜索功能

3、需要完成的需求

【每天学一点-06】在Vue中使用Vant-Picker选择器,并且给选择器添加一个类似Antd-Select-showSearch的搜索功能

4、因为在H5项目中出现了类似需求,也就是在Picker-title的位置加一个搜索框,picker列表数据根据搜索显示

二、实现思路

首先对picker选择器中添加的搜索框进行数据的双向绑定,然后使用Vue-watch进行数据监听,在每次数据更新后使用匹配规则对请求接口返回的数据列表进行筛选,然后让picker选择器绑定筛选后的数据列表,从而实现vant-picker搜索功能,而且这个功能不需要请求后端接口,直接在前端进行处理。

三、代码部分

1、基础代码部分

javascript;gutter:true; import { Picker } from 'vant'  //引用组件 export default { name: 'demo', data() { return { columns: [],   //组件使用数据列表 } }, mounted() {   //初始化数据 this.getList();  //加载页面获取数据 }, methods: { /<em> 获取数据列表方法 </em>/ async getList() { try{ const { res } = await = getList(); //请求封装接口 const { code, msg, data } = res;  //接口返回数据 if( code === 200){ this.columns = data;  //存入数据 } } catch( e ) { throw new Error( msg ) } } } }</p> <pre><code> 2、进行改造 ;gutter:true;
//#title 显示在picker-title位置

import { picker, field } from ‘vant’  //引用组件

export default {
name: ‘demo’,
data() {
return {
columns: [],   //组件使用数据列表,初始化后不改变
searchColumns: [],  //搜索筛选后的数据列表,随着查询内容改变  
}
},
mounted() {   //初始化数据
this.getList();  //加载页面获取数据
},
methods: {
/* 获取数据列表方法 */
async getList() {
try{
const { res } = await = getList(); //请求封装接口
const { code, msg, data } = res;  //接口返回数据
if( code === 200){
this.columns = data;  //存入数据
this.searchColumns = data;  //给查询数组初始化数据
}
} catch( e ) { throw new Error( msg ) }
}
},
watch: { //实时监听搜索输入内容
searchKey: function () {
let key = String( this.searchKey );
key = key.replace( /\s*/g, "" );  //去除搜索内容中的空格
const reg new RegExp( key, "ig" ); //匹配规则-i:忽略大小写,g:全局匹配
this.searchColumns = this.columns.filter( item => item.name.match( reg ) !=null );  //进行筛选,将筛选后的数据放入新的数组中
}
}
}

四、实现效果展示

Original: https://www.cnblogs.com/Rootkital/p/16506586.html
Author: Rootkital
Title: 【每天学一点-06】在Vue中使用Vant-Picker选择器,并且给选择器添加一个类似Antd-Select-showSearch的搜索功能

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/571818/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 职场升职之必备策略

    一、初入职场,在尽可能短的时间内记住每个同事的名字,给别人被重视的满足感。 二、搞清楚自己处于哪一个阶层,然后清楚地知道自己该往哪个方向努力,然后找出速腾的办法去实现它。 三、遇事…

    Java 2023年6月9日
    049
  • 计算两日期相差的天数

    1 public static void main(String[] args) throws ParseException { 2 3 SimpleDateFormat sdf …

    Java 2023年6月9日
    059
  • 奇安信服务端一二面面经(来源牛客)

    一.一面 应用层——HTTP: ​ 当输入URL后,对URL进行解析。​ URL解析方式如下:​ https://www.baidu.com/​ https:代表访问数组的协议(h…

    Java 2023年6月7日
    087
  • Java-仿华为商城项目-SpringBoot+MyBatis+MySQL

    用户注册 1.用户的注册功能。相当于在做数据的插入操作 insert into t_user (username,password) values (值列表) 2.在用户注册时要首…

    Java 2023年6月9日
    074
  • 2022-9-1 异步请求

    异步请求 ajax:异步刷新(局部刷新),前端技术。给后台发请求。异步:整个页面不会全部刷新,只有某个局部在刷新。验证用户名是否存在。刷新: 1.原生js的ajax get 请求 …

    Java 2023年6月13日
    084
  • 自定义线程池的创建与@Async注解使用

    1.创建线程池配置 2.使用 @Async介绍 在Spring中,基于@Async标注的方法,称之为异步方法;这些方法将在执行的时候,将会在独立的线程中被执行,调用者无需等待它的完…

    Java 2023年6月8日
    079
  • JAVA入门基础_从零开始的培训_SpringBoot2入门

    SpringBoot2快速入门 配置maven仓库的配置文件 创建一个Maven项目,修改pom文件添加依赖 创建一个Controller控制器 运行项目即可,最终的项目目录如下 …

    Java 2023年6月9日
    052
  • Java8日期时间(LocalDate、LocalTime、LocalDateTime)

    在看题的时候发现了Java8中新加入的日期时间类,觉得这个小哥写的不错,自己也跟着练习下。原文地址:https://blog.csdn.net/yy139926/article/d…

    Java 2023年6月6日
    085
  • 通过实现仿照FeignClient框架原理的示例来看清FeignClient的本质

    前言 FeignClient的实现原理网上一搜一大把,此处我就不详细再说明,比如:Feign原理 (图解) – 疯狂创客圈 – 博客园 (cnblogs.c…

    Java 2023年6月9日
    073
  • 一个人成为废物得九大特质

    成为废物的九大特质 决定事情犹豫不决,优柔寡断 很强得拖延症 做什么事都三分钟热度 害怕被拒绝 自我设限(百度一下,你就知道) 经常逃避现实,不敢面对现实 总是能找到各种借口 总是…

    Java 2023年6月7日
    072
  • 手把手教你如何高效落地多项目管理 | 一看既会

    如何高效落地多项目管理,云效Projex 是新一代企业级研发协作平台,集成了敏捷研发项目管理的最佳实践,提供了针对项目、迭代、需求、缺陷等多个维度的协同管理以及相关的统计报告,让研…

    Java 2023年6月8日
    084
  • 常见的网页复制粘贴禁用问题

    1.网页无法选取文字 按下键盘的F12调出开发者工具,点击console控制台,输入以下代码后回车即可:解除网页无法选取文字 var eles = document.getElem…

    Java 2023年6月14日
    0120
  • HTTP协议

    HTTP协议是无状态的协议:对于事务的处理没有记忆能力。每次请求-响应都是独立的。 缺点:多次请求间不能共享数据—–会使用会话技术来进行解决 优点:速度快 …

    Java 2023年6月5日
    073
  • idea中自定义修改jdk源码,加注释

    前言 最近打算出jdk源码的博客,想在源码基础上加注释,在此把方法分享给大家。 处理方法 打开project structures,选择sdk。根据上方的路径,找到zip包,进行解…

    Java 2023年5月30日
    091
  • 根据表结构自动生成JavaBean,史上最强最专业的表结构转JavaBean的工具(第6版)

    第6版重大更新震撼发布,功能更加强大,速度过来围观,这次版本更新如下: 1、新增测试数据库连接。2、标准模板新增C#标准模板。3、字段转换设置新增需要在某类型上添加的注解配置。4、…

    Java 2023年6月9日
    061
  • aardio + VBScript 混合开发

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Java 2023年6月16日
    064
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球