首页 > 其他分享 >使用Naive UI的级联选择器 Cascader进行省市区选择

使用Naive UI的级联选择器 Cascader进行省市区选择

时间:2024-06-21 16:57:02浏览次数:27  
标签:province area Naive children let addrs UI 省市区 选择器

序言:

     在进行PC版的功能开发时,进行客户管理时老板要让客户便捷的选择自己的省市区等信息,而不是让他们一个个去填写,这时就需要使用级联选择器来进行省市区的选择。

注:element ui/plus的级联选择器也是可以的。 

步骤:

  • 需要下载省市区的js文件,这个文件已经上传到主页可以自行下载,文件名称为ydui.citys.js。首先引入并声明并初始化一个变量yduiCtiys,其值来自外部的YDUI_CITYS对象,该对象预期包含所有省份及其下属城市和区县信息。:
    import * as ydui from '@/assets/js/ydui.citys';
    let yduiCtiys = YDUI_CITYS;
  • 1.声明一个响应式对象addressArr,用于存放最终处理好的地址选项数据,初始时options为空数组。

    2.声明并初始化了一个名为 addrs 的空数组,这个数组被用来存储处理后的地址数据,具体包括省份、城市、区县等信息。每一级(省份、城市、区县)都将以对象的形式被添加到这个数组中,并建立起父子关系。

    3.初始化和遍历省份、城市区县。整理并赋值给addressArr.options
    let addressArr = reactive({ options: [] });
    let addrs = [];
    yduiCtiys.forEach((province, pid) =>{
        let p = {};
        p.label = province.n;
        p.id = province.n
        // p.children = province.c;
        addrs.push(p)
    
        addrs[pid].children = [];
        province.c.forEach((city, cid) => {      
            let c = {};
            c.label = city.n;
            c.id = `${province.n} ${city.n}`
            addrs[pid].children.push(c)
    
            c.children = []
    
            city.a.forEach((area, aid) => {
                let a = {};
                a.label = area;
                a.id = `${province.n} ${city.n} ${area}`
                c.children.push(a)
            })
    
        })
    })
    addressArr.options = addrs

  • 使用naive UI的级联选择器 n-cascader 进行省市区的选择。具体api的详解请看官方文档:级联选择 Cascader。或看主页之前对n-select api的详细解释,相同api作用一样。
     <n-cascader
           v-model:value="area"
           clearable
           separator=" "
           placeholder="请选择区域"
           expand-trigger="click"
           :options="addressArr.options"
           label-field="label"
           value-field="id"
           children-field="children"
           size="small" >                       
      </n-cascader>
    
    
    <script>
     //area就是选择后页面展现的数据
     const area = ref('')
    </script>

附成果图:

结语: 功能也是成功的完成了,使用此方法可以方便快捷的进行省市区的选择。

标签:province,area,Naive,children,let,addrs,UI,省市区,选择器
From: https://blog.csdn.net/Cy01234/article/details/139864144

相关文章

  • 定位接口 MissingServletRequestParameterException: Required String parameter '' i
    @RequestParam与实际传参对不上导致,会抛出异常 可以定义一个MissingServletRequestParameterException的异常处理,获取、打印出要的接口信息importcn.hutool.core.util.ObjectUtil;importcom.byd.common.api.vo.Result;importlombok.extern.slf4j.Slf4j;importorg.sp......
  • buildroot --- BR2_EXTERNAL(添加外部 package,不改变 buildroot 任何内容)
    make-C$(buildroot文件夹路径)BR2_EXTERNAL=$(BR2_EXTERNAL_XXX_PATH),可以不修改buildroot/package路径下的内容实现编译引用外部packageBR2_EXTERNAL_XXX_PATH文件夹需要包含如下三个文件:external.descexternal.mkConfig.inexternal.mk包含所有package的mk文......
  • 鸿蒙UI开发快速入门 —— part07:组件状态管理之@Prop/@Link装饰器
    1、前言我们在上一章学习了@State装饰器,@State装饰器的作用范围仅仅在当前组件,接下来,我们讨论如何从父组件中传入参数到子组件,让子组件随着父组件的状态发生变化。本章将要介绍的就是:@Props装饰器。2、@Props装饰器@Prop装饰的变量可以和父组件建立单向的同步关系。@Prop装......
  • A Guide to Setting Plot Styles Based on the Matplotlib Library
    AGuidetoSettingPlotStylesBasedontheMatplotlibLibraryDateAuthorVersionNote2024.06.21DogTaoV1.0Finishthedocument.文章目录AGuidetoSettingPlotStylesBasedontheMatplotlibLibraryBasicUsageDrawplotsAdjuststyleSaveplotsAnnotatepl......
  • 【鸿蒙实战开发】HarmonyOS-ArkUI教程@link装饰器双向数据传递的使用
    前言2024年可谓至关重要,而生态建设的前提,就是要有足够的开发人才。与之对应的,今年春招市场上与鸿蒙相关岗位和人才旺盛的热度,一方面反应了鸿蒙生态的逐渐壮大,另一方面也让人们对鸿蒙下一阶段的发展更具信心。随着鸿蒙市场份额的不断提升,相应的岗位也会迎来一个爆发式的......
  • 用Nuitka打包 Python,效果竟如此惊人!
    目录为什么选择Nuitka?Nuitka的工作原理Nuitka的工作流程大致如下:安装Nuitka实战案例示例代码打包程序运行可执行文件进阶技巧优化选项多文件项目打包第三方库使用Python开发一个程序后,将Python脚本打包成独立可执行文件是一项常见需求。Nuitka是一个Python......
  • recastnavigation.Sample_TempObstacles代码注解 - rcBuildHeightfieldLayers
    烘培代码在rcBuildHeightfieldLayers本质上是为每个tile生成高度上的不同layer算法的关键是三层循环:forz轴循环forx轴循环for高度span循环判断span和相邻span的连通性(x/z平面相邻cell)如果联通,则标注为同一个layer,也就是在x/z平面上标注layer,形成像是互不相......
  • Windows的Gitlab Runner搭配的PowerShell脚本:自动下载Directory.Build.props相关文件
    简介GitlabRunner在Windows上运行之后,我们在.gitlab-ci.yml中编写script语句,思路和Linux是一样。但是考虑到Windows的特点,为了让程序员少接触一些知识点,以及给未来执行作业的时候预留更多的操作空间。简单说就是未来修改执行作业时候的逻辑,但是每个软件仓库根目录下的.gitlab-ci......
  • Windows的Gitlab Runner搭配的PowerShell脚本:自动下载Directory.Build.props相关文件
    简介GitlabRunner在Windows上运行之后,我们在.gitlab-ci.yml中编写script语句,思路和Linux是一样。但是考虑到Windows的特点,为了让程序员少接触一些知识点,以及给未来执行作业的时候预留更多的操作空间。简单说就是未来修改执行作业时候的逻辑,但是每个软件仓库根目录下的.gitlab-ci......
  • C++数据格式化5 - uint转换成十六进制字符串&二进制的data打印成十六进制字符串
    1.关键词2.strfmt.h3.strfmt.cpp4.测试代码5.运行结果6.源码地址1.关键词关键字:C++数据格式化字符串处理std::stringinthex跨平台应用场景:int型的数据打印成十六进制字符串二进制的data打印成十六进制字符串。2.strfmt.h#pragmaonce#include<stri......