vant移动端组件van-popup+van-picker实现自定义三级区域级联选择

vue2实现移动端级联选择器 vue2实现的移动端级联选择器,用于多层级数据的选择,典型场景为省市区选择 阅读详情
1.效果如图:



2.代码如下:
<template>
  <div v-show="loading" class="home">
    <!--弹窗-->
    <van-popup v-model="cityVisable" v-model:show="popupShow" position="bottom">
      <!--地区选择-->
      <van-picker :columns="areaList" :columns-field-names="customFieldName" title="选择地区" @cancel="onCancel"
                  @confirm="onConfirm"/>
    </van-popup>
  </div>
</template>

<script>
  import {getRegionList} from "@/api/region.api";

  export default {
    components: {},
    data() {
      //不使用picker指定属性名称,需要绑定自己的属性名称
      const customFieldName = {
        text: 'regionName',
        value: 'regionId',
        children: 'cities',
      };
      return {
        popupShow: true,
        cityVisable: 0,
        customFieldName,
        areaList: [],
        loading: true,
        regionList: [
          {"regionId": 1, "regionName": "北京市", "regionPid": 0},
          {"regionId": 2, "regionName": "朝阳区", "regionPid": 1},
          {"regionId": 3, "regionName": "丰台区", "regionPid": 1},
          {"regionId": 4, "regionName": "A镇", "regionPid": 2},
          {"regionId": 5, "regionName": "B镇", "regionPid": 2},
          {"regionId": 6, "regionName": "广东省", "regionPid": 0},
          {"regionId": 7, "regionName": "广州市", "regionPid": 6},
          {"regionId": 8, "regionName": "佛山市", "regionPid": 6},
          {"regionId": 9, "regionName": "白云区", "regionPid": 7},
          {"regionId": 10, "regionName": "荔湾区", "regionPid": 7}
        ]
      };
    },

    created() {
      this.getList();
    },

    methods: {
      getList() {
        this.loading = false;
        //请求后端api获取数据对象列表
        /*getRegionList().then((response) => {
          this.regionList = response.data;
          this.loading = true;
          this.areaList = this.changeList(0);
        });*/

        //无后端数据,模拟假数据
        this.loading = true;
        this.areaList = this.changeList(0);
      },
      //递归拼装地区级联数据
      changeList(id) {
        let list = [];
        for (let i in this.regionList) {
          let region = this.regionList[i];
          if (region.regionPid == id) {
            let l = this.changeList(region.regionId);
            console.log(l)
            region.cities = l;

            list.push(region);
          }
        }

        return list;
      },
      onCancel() {
        //点取消,关闭弹窗
        this.popupShow = false;
      },
      onConfirm(value) {
        //点确定,value为选择三级数据
        console.log(value)
        this.popupShow = false;
      },
    }
  }
</script>

 

移动端 react + antd-mobile 二级联动(一二级均多选) 移动端 react + antd-mobile 二级联动(一二级均多选) 前提:数据结构为树形结构(二级数据带一级ID) 功能说明:默认展示一级下拉菜单,选完一级之后,二级的列表数据为选好的所有一级的二级数据,最后点确定之后,展示全部的选择(包括一级和二级)。展示出来的部分可以删除及全部删除。 阅读详情

相关推荐

#用vant 写三级联动

#用vant 写三级联动 1.首先引入area.js import addressList from "../area"; 2.area.js内容如下: var addressList = { province_list: { 110000: '北京市', 120000: '天津市', 130000: '河北省', 140...

Leon_940002463的博客 4068

van-picker级联选择(获取字段+children为null的坑+搜索功能)

【代码】van-picker级联选择(获取字段+children为null的坑+搜索功能)

qq_43528934的博客 1470

Vant 2 - 移动端 Vue 组件库 _ 问题记录

Vant 2 - 移动端 Vue 组件库 _ 问题记录 发布初衷 : 记录在移动端项目中使用 Vant 2 组件库时遇到的各种问题, 方便以后再次遇到类似问题 , 能够快时查阅解决 , 大家要是觉得有帮助的话 , 可以收藏一下 , 博主会不定时更新文章的 目录 基础组件 Popup 弹出层 表单组件 DatetimePicker 时间选择 Field 输入框 Form 表单 Picker 选择器 Radio 单选框 Uploader 文件上传 展示组件 List 列表 导航组件 Tab 标签页

Mr.小灰狼_随笔 2万+

Vant Cascader级联选择 实现省市区三级

前面有一篇文章是介绍Vue + MintUI实现的省市区三级联动,今天介绍使用Vant框架中的Cascader来实现省市区三级联动。建议先搂一遍,官网介绍~~ 有赞官网Cascader组件介绍:Vant 2 - Mobile UI Components built on Vue 1、在index.js中引入Vant,并注册声明2 import Vant from 'vant'; import 'vant/lib/index.css'; Vue.use(Vant); 2、页面使用(templat

codingLeader的博客 1万+

van-field+van-picker实现过滤和模糊搜索

使用van-picker + van-search 实现模糊搜索和过滤选择器,加上van-field封装成定制化的选择器组件

玛已的小空间 6290

从Vant Picker到自定义多选:一个移动端表单组件的封装实践

本文详细介绍了基于Vant组件库封装移动端自定义多选组件的实践过程。通过整合van-field、van-popup等核心组件,解决了原生Picker在多选场景下的用户体验问题,并分享了性能优化、表单集成及样式定制等关键技术要点,为Vue2移动端开发提供了可复用的组件解决方案。

weixin_29247219的博客 444

【实战经验】vant中picker选择器封装,让你的表单选择更简单

【实战经验】vant中picker选择器封装,让你的表单选择更简单

希望看完文章的你能够带着答案离开。 8809

移动端时间选择器进阶:从 van-datetime-picker 到自定义秒级精度组件的实现

本文详细介绍了如何在移动端开发中,基于Vant UI的van-datetime-picker组件进行二次开发,实现一个支持秒级精度(年月日时分秒)的自定义时间选择器。文章深入剖析了从核心思路、组件封装、动态联动逻辑到深度优化与跨平台适配的全过程,解决了分钟级组件无法满足高精度时间选择需求的痛点,并提供了完整的代码实现与性能优化建议。

weixin_28197941的博客 466

vant picker选择器组件增加search搜索功能

[vant](https://vant-contrib.gitee.io/vant/#/zh-CN/picker)用在移动端的小项目还是挺合适的,但也有一些不符合需求的地方,比如它的picker选择器有个问题,就是没有搜索功能。 其实或许可以自己组合:比如把picker与IndexBar 索引栏结合起来,或者把picker与search搜索功能组合。 我用的是第二种方法:在picker上面加个搜索框,不过我用的van-field。

一只爱吃糖的小羊 9628

Vant 日历与时分秒选择器:构建精准回溯时间组件

本文详细介绍了如何使用Vant的日历和时分秒选择器构建精准回溯时间组件,适用于后台管理系统和数据查询平台。通过组件选型、基础搭建、时间数据处理与联动逻辑的讲解,帮助开发者实现秒级时间选择功能,提升用户体验和操作效率。

weixin_26854555的博客 187

Vant 4 van-picker数据绑定全指南:从基础使用到自定义字段的完整解决方案

本文详细解析了Vant 4中van-picker组件的数据绑定方法,从基础使用到自定义字段映射(columns-field-names)的高级技巧。通过实战案例展示如何适配不同数据结构,解决常见业务痛点,并提供性能优化方案,帮助开发者高效实现复杂选择器功能。

weixin_30485379的博客 267

vue2 vant-ui 实现搜索过滤、高亮功能

vant 实现是通过输入框(van-field)事件触发弹出层(van-popup),弹出层(van-popup)中包括了选择器(van-picker)

sout-lanys 5112

从波士顿动力SpotMini拆解看四足机器人机械设计:关节布局与电机选型的5个关键决策点

本文深入解析波士顿动力SpotMini四足机器人的机械设计,聚焦关节布局与电机选型的5个关键决策点。通过拆解髋关节偏移距、膝关节传动链、电机热管理等核心设计,揭示商业级四足机器人的工程智慧,为工业巡检、物流机器人等应用提供实用参考。

postgres8guard的博客 892

van-picker实现日期时间选择器

本文介绍了如何在Vue3项目中使用Vant4的时间选择组件timePicker.vue,并根据业务需求进行自定义

lyj168997的博客 1028

Qt OpenGL 3D 点云数据显示

在Qt中使用OpenGL显示3D点云数据是一个常见的需求,特别是在计算机视觉、机器人学和三维重建等领域。下面我将介绍一个基本的实现方案。

深之JohnChen的专栏 1236

基于大模型的重度膝关节骨关节炎全流程预测与治疗方案研究

本研究基于大模型构建了重度膝关节骨关节炎(KOA)预测体系,涵盖术前风险预测、手术方案优化、术中监测和术后康复指导全流程。通过分析临床和影像数据,模型在手术风险预测准确率(85%)、并发症预警(血栓预测准确率88%)等方面显著优于传统方法。研究实现了临床数据与AI技术的深度融合,术前预测指导麻醉选择(如高危患者推荐椎管内麻醉),术中实时监测生命体征,术后个性化康复方案使患者HSS评分平均提升45分。

嵌入式毕设/课设资料清单(速查手册·文档模板·题库,持续更新)→ 见最新文章 1389

vant中picker组件的使用demo,实现机构的选择

近期有一个需求,考生报名的时候,需要选择自己的挂靠机构,方便上级机构审核。 在此记录一下,方便其他有需求的朋友参考一下。如有不足之处,欢迎指正。 第一步引入插件:npm install van --save 第二步:全局注册,在main.js中引入以下代码 import Vant from 'vant' Vue.use(Vant) 第三步:界面代码 <template> <div class="test-form" id="app"> <van..

liguisheng1990的博客 1603

Linux下驱动开发_块设备驱动开发(硬件上采用SD卡+SPI协议)

这一篇文章将采用SD卡作为存储硬件,利用SPI协议与SD卡通信,完成块设备驱动开发测试。 SD卡可以更加形象的表示块设备开发过程,明白硬件如何交互,完成数据读写。

2601

vant Picker 移动端城市列表选择,未使用van-area

城市数据源使用的 vant,见github :城市数据 也可以通过拿取 # 通过 npm npm i @vant/area-data # 通过 yarn yarn add @vant/area-data # 通过 pnpm pnpm add @vant/area-data h5: 通过弹窗的方法显示城市选择 <van-popup v-model:show="cityVisable" position="bottom"> <van-picker show-tool

随心博客 1257

3、基于视觉的智能分拣机:原理、算法与应用

本文介绍了一种基于视觉的智能分拣系统,利用树莓派、相机模块和多种检测算法实现低成本、高精度的物体分拣。系统支持颜色、形状和尺寸三种检测方式,准确率达99%,广泛适用于制造业、农业和物流等领域。文章详细阐述了各检测算法原理、测试结果及系统优化方向,并探讨了其实际应用案例与未来发展前景。

mqtt6iot的博客 236

深入剖析 Hive 中 CASE WHEN 与 IF 函数的性能差异:解锁高效数据处理的关键

CASE WHEN 函数堪称 Hive 中条件判断的多面手,它具备两种强大的语法形式,以应对各种复杂的业务逻辑。简单 CASE 表达式这种形式适用于对某一列的值进行直接的条件匹配。其语法如下:END例如,我们有一个记录学生成绩的表CASE scoreELSE 'D'搜索 CASE 表达式当业务逻辑需要更灵活的条件判断时,搜索 CASE 表达式便派上用场。它的语法为:CASEENDCASEELSE 'D'

2401_83088008的博客 1125

【前端】vant组件移动端兼容性问题汇总

记录使用vant组件开发过程中遇到的兼容性问题

网页设计作业、webgis作业承接 6366

Raspberry Pi Pico + Inmp441麦克风(Pio模拟I2s)<2>

摘要:本文介绍了在Raspberry Pi Pico上使用PIO(Programmable I/O)接收I2S数字麦克风音频数据并保存为WAV文件的方法。项目采用双PIO状态机设计,一个生成I2S时钟信号(WS+SCK),另一个接收24位左声道数据并转换为16位格式。文章详细说明了接线方式、参数设置、WAV文件头构造、PIO汇编程序实现以及数据转换处理流程。项目在MicroPython环境下实现16kHz采样率、6秒时长录音,具有时序精确、稳定可靠的特性,并提供了进一步拓展的可能性,如双声道支持、实时频谱分

技术需要沉淀,需要碰撞。 657

vue3+vant4移动端实现时间范围选择

在移动端业务场景中,日期范围选择是高频需求(如订单筛选、时间区间查询)。本文基于 Vue3 + Vant4 技术栈,从零实现一款 “起始 / 结束时间双选” 的日期选择器组件,解决 “结束时间不能早于起始时间”“日期格式统一”“回显兼容” 等核心问题,适配移动端交互体验。

qq_40121308的博客 594

vue2 - 详细实现播放AMR格式音频并实现自定义播放器样式,支持amr音频文件在线地址URL播放、调用服务端API接口获取二进制文件流amr形式、用户本地上传amr文件并实现立即播放(详细代码)

vue2,amr,amr文件播放,vue播放amr音频文件以及在线url跨域问题解决,vue使用audio标签播放amr音频,amr跨域解决,amr网页解码播放,文件上传后怎么播放,vue2播放.amr语音文件,api接口形式调用获取的amr如何播放,vue中如何使用audio元素播放AMR格式的文件,进度条,vue前端如何播放AMR格式的音频文件,vue播放语音文件AMR格式,播放amr格式音频AMR录音机,h5原生audio播放amr格式的音频,VUE2使用benz-amr-recorder 实现解码、

✅ 精选推荐文章 7413

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

基于vue2 + vant封装的多选组件

最近在开发一个移动端表单提交的需求时,发现 Vant 的选择器对多选场景支持不够友好。而产品需求场景需要能够实现多选功能,于是决定手动封装一个多选组件,本文章将介绍如何创建一个类似 van-picker 的多选组件。

weixin_53072248的博客 1412

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

上一篇: mysql-8.0.29-winx64下载及安装教程(8.0.33也适用)
下一篇: Vue+elementUI+sortableJS实现父/子组件值传递及el-table表格行拖拽
cherishSpring
博客等级 码龄11年 134粉丝 172原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值