vue中Cascader 级联选择器实现

news2024/10/7 4:27:06

<template>

<div style="padding-left:20px;">

 <!-- 添加或修改 -->

    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>

        <el-form ref="form" :model="form" :rules="rules" label-width="80px">

            <el-form-item   label="类型" prop="firmware">

                <el-cascader :props="firmwareTypeProps" v-model="form.firmware" :options="firmwareTypeOptions" placeholder="请选择固件版本类型" style="width:100%"></el-cascader>

          </el-form-item>

        </el-form>

        <div slot="footer" class="dialog-footer">

            <el-button type="primary" @click="submitForm">确 定</el-button>

            <el-button @click="cancel">取 消</el-button>

        </div>

    </el-dialog>

</div>

</template>

-----------------------------------------------------------------------------------------------------------------

data() {

        return {

           

            // 弹出层标题

            title: "",

            // 是否显示弹出层

            open: false,

            // 表单参数

            form: {

                id:0,

                version: 1.0,

                productId: 0,

                status:'0'

            },

            // 分类

            firmwareVersionType:'firmwareVersionType',

            // 模块1

            firmwareNetworkModule:'firmwareNetworkModule',

            // 模块2

            firmwareMainModule:'firmwareMainModule',

            //模块3

            firmwarePowerModule:'firmwarePowerModule',

            // 模块1值

            firmwareTypeNetwork:'1',

            // 模块2值

            firmwareTypeMain:'2',

            // 功率模块值

            firmwareTypePower:'3',

            // 分类值

            dictsChildrenData:null,

            firmwareTypeOptions:[],

            // 联动显示

            firmwareTypeProps:{

                lazy: true,

                lazyLoad:this.lazyLoadFirmwareTypeFun

            }

        };

    }

-----------------------------------------------------------------------------------------------------------------

methods: {

    

        /** 新增按钮操作 */

        handleAdd() {

            this.reset();

            this.open = true;

            this.title = "添加";

        },

        /** 修改按钮操作 */

        handleUpdate(row) {

            const firmwareId = row.id

            this.reset();

            this.open = true;

            this.title = "修改";

            getFirmware(firmwareId).then(response => {

                this.form = response.data;

                this.form.status=response.data.status.toString();

                // 数组制空

                this.form.firmware=[];

               //默认认值

  this.form.firmware.push(this.form.firmwareType.toString(),this.form.firmwareSubModule.toString());

            });

        },

       // 下拉选项值 动态添加

        lazyLoadFirmwareTypeFun(node, resolve){

               // 级别

                const { level } = node;

                 // 一级

                if(level===0){

                    getDicts(this.firmwareVersionType).then(response => {

                        const nodess =response.data.map((i, index) => ({

                            value: i.dictValue,

                            label: i.dictLabel,

                            leaf: level >= 1

                        }));

                        resolve(nodess);

                    });

                }

                // 二级

                if(level===1){

                    // 模块1子模块

                    if(parseInt(node.data.value)===parseInt(this.firmwareTypeNetwork)){

                        getDicts(this.firmwareNetworkModule).then(response => {

                            const nodess =response.data.map((i, index) => ({

                                value: i.dictValue,

                                label: i.dictLabel,

                                leaf: level >= 1

                            }));

                            resolve(nodess);

                        });

                    }

                    // 模块2子模块

                    if(parseInt(node.data.value)===parseInt(this.firmwareTypeMain)){

                        getDicts(this.firmwareMainModule).then(response => {

                            const nodess =response.data.map((i, index) => ({

                                value: i.dictValue,

                                label: i.dictLabel,

                                leaf: level >= 1

                            }));

                            resolve(nodess);

                        });

                    }

                    // 模块3子模块

                    if(parseInt(node.data.value)===parseInt(this.firmwareTypePower)){

                        getDicts(this.firmwarePowerModule).then(response => {

                            const nodess =response.data.map((i, index) => ({

                                value: i.dictValue,

                                label: i.dictLabel,

                                leaf: level >= 1

                            }));

                            resolve(nodess);

                        });

                    }

                }

           

            },

             // 字典值

             getDictsData(dictType){

                getDicts(dictType).then(response => {

                    this.dictsChildrenData= response.data;

                });

            },

    },

--------------------------------图片--------------------------------------------------------------

新增

修改

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/663219.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二分类结局变量Logistic回归临床模型预测—— 模型评价(二)

本节讲的是二分类结局变量的临床模型预测,与之前讲的Cox回归不同,https://lijingxian19961016.blog.csdn.net/article/details/124088364https://lijingxian19961016.blog.csdn.net/article/details/124088364https://lijingxian19961016.blog.csdn.net/article/details/1240…

如何运行一个 SSM 项目以及解决 JDBC 连接数据库遇到的问题(已解决)

文章目录 &#x1f4cb;前言&#x1f3af;运行与配置&#x1f3af;报错与解决&#x1f9e9;问题分析&#x1f9e9;解决过程 &#x1f3af;知识点补充&#x1f9e9;关于 com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver 的区别 &#x1f4dd;最后 &#x1f4cb;前言 这篇文…

【严重】GeoServer 存在 sql 注入漏洞(POC已公开)

漏洞描述 GeoServer是一款开源地图服务器&#xff0c;主要用于发布、共享和处理各种地理空间数据。 在GeoServer 的受影响版本中由于未对用户传入的 CQL_FILTER参数进行安全校验&#xff0c;在以数据库作为数据存储时&#xff0c;攻击者可构造攻击语句&#xff0c;绕过GeoSer…

Maven(三):Maven的组成详解

文章目录 坐标和依赖坐标详解依赖配置依赖范围传递性依赖依赖调节可选依赖优化排除依赖归类依赖优化依赖 仓库本地仓库远程仓库仓库镜像常用搜索地址 生命周期与插件三套生命周期clean生命周期default生命周期site生命周期 插件 聚合与继承更加灵活的构建常见问题使用jdk来运行…

使用UglifyJS实现一条指令打包发布项目实例

在前端页面开发中&#xff0c;使用Vue、Angular、React等框架构建的项目通常都会自动配置集成相关代码压缩发布的工具&#xff0c;开发者只需要执行指定命令即可完成项目的整体压缩发布操作。对于没有使用框架的项目&#xff0c;需要开发者手动配置使用相关工具完成对应操作&am…

【OBS】SpringBoot + Vue + el-upload 通过临时 URL 上传文件到 OBS

华为云OBS的官方文档&#xff08;链接&#xff1a;https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_0901.html#section1&#xff09;中关于上传文件的内容&#xff0c;只提供了使用JAVA获取临时上传链接&#xff0c;并使用JAVA创建请求上传纯文本的方法。想要把这部…

离线分析fsimage文件进行数据深度分析

以离线分析FsImage文件进行数据深度分析 整个方案的基本架构&#xff1a; FsImage文件时HDFS存放在NameNode中的镜像文件&#xff0c;里面包括了整个HDFS集群的目录和文件信息&#xff0c;(类似于一个索引目录部分数据的文件)&#xff0c;而且HDFS提供了命令可以将FsImage文件…

【严重】VMware Aria Operations for Networks 远程代码执行漏洞(存在POC)

漏洞描述 VMware Aria Operations for Networks (前名为vRealize Network Insight)是 VMware 公司提供的一款网络可视性和分析工具&#xff0c;用于优化网络性能或管理各种VMware和Kubernetes部署。 VMware Aria Operations for Networks 6.x版本中由于 createSupportBundle…

How to fix the global rice crisis 如何应对全球稻米危机 | 经济学人20230401版双语精翻

4月1日《经济学人》周报封面即社论区&#xff08;Leaders&#xff09;精选文章&#xff1a;《如何应对全球稻米危机》&#xff08;How to fix the global rice crisis&#xff09;。 “民以食为天”语出《孟子公孙丑上》&#xff0c;强调&#xff1a;人民的生命福祉和国家的繁荣…

每日一练 | 华为认证真题练习Day62

1、广播地址是网络地址中主机位全部置为1的一种特殊地址&#xff0c;它也可以做为主机地址使用。 A. True B. False 2、如图所示&#xff0c;如果管理员希望能够提升此网络的性能&#xff0c;则下面哪一种方法最合适&#xff1f; A. 使用交换机把每台主机连接起来&#xff0c…

java8 (jdk 1.8) 新特性——Stream ApI以及具体实例

在java8 中&#xff0c;有两个最重要的改变&#xff0c;一个就是之前了解的Lmbda java8 (jdk 1.8) 新特性——Lambda ,还有一个就是Stream Api 1. 什么是Stream API 简单来说就是一个类库&#xff0c;里边有一些方法方便我们对集合数据进行操作&#xff0c;就好像使用 SQL 语…

是单例模式,不是单身

✍&#x1f3fc;作者&#xff1a;周棋洛&#xff0c;计算机学生 ♉星座&#xff1a;金牛座 &#x1f3e0;主页&#xff1a;点击学习更多 &#x1f310;关键&#xff1a;JavaScript 单例 设计模式 单例模式的定义是&#xff1a;保证一个类仅有一个实例&#xff0c;并提供一个访问…

数据结构05:树与二叉树[C++][线索二叉树:先序、中序、后序]

图源&#xff1a;文心一言 考研笔记整理1.4W字&#xff0c;小白友好、代码先、中序可跑&#xff0c;后序代码有点问题仅作记录~~&#x1f95d;&#x1f95d; 第1版&#xff1a;查资料、写BUG、画导图、画配图~&#x1f9e9;&#x1f9e9; 参考用书&#xff1a;王道考研《2024…

领域事件解读

文章目录 EventBus简介DDD领域事件架构简析快速入门pom依赖bean配置PublisherSubscriber 设计原理PublisherSubscriber 事件总线(EventBus)&#xff0c;设计初衷是解耦系统模块&#xff0c;将系统中的各类业务操作抽象为事件模型&#xff0c;我们把产生事件的部分称之为事件的发…

电容笔哪个厂家的产品比较好?时下热门的平替苹果笔

苹果原装的Pencil&#xff0c;在市场上可是炙手可热的&#xff0c;而且苹果的这款pencil&#xff0c;也不是什么便宜的。当然&#xff0c;你可以用这个苹果笔搭配iPad&#xff0c;不过&#xff0c;如果你不想花很多钱&#xff0c;那就可以换一支普通的平替电容笔。就当前的技术…

一篇搞定C语言操作符(详解含示例)

目录 一.操作符是什么&#xff1f; 基本特征 语义 优先级 结合性 二.操作符的分类 三.操作符各类详解 1.算数操作符&#xff08; - * / %&#xff09; &#xff08;1&#xff09;优先级&#xff1a; &#xff08;2&#xff09;除法操作符&#xff08;…

数学基础-标量,向量,张量

前言 数学中&#xff0c;如何描述事务&#xff0c;以棍子为例子&#xff1a; 棍子的长度棍子方向棍子转向… 标量 单纯的形容事务的一个特征&#xff0c;如果体积&#xff0c;长度。 向量 指具有大小&#xff08;magnitude&#xff09;和方向的量。它可以形象化地表示为带…

利用腾讯云推流做7*24小时云直播

早在10年前&#xff0c;直播刚刚火的的时候&#xff0c;我就写过一个基于RTMP推流的直播工具&#xff0c;但没有利用起来&#xff0c;一直荒废了。想想真是可惜&#xff0c;不过谁怪咱精力有限切没有商业头脑呢。 最近刷B站&#xff0c;一位UP分享了无人值守的云直播方案&…

21JS12——内置对象

文章目录 一、内置对象二、查文档1、 MDN2、如何学习对象中的方法 三、Math对象1、Math对象2、案例-封装自己的数学对象3、Math的几个方法&#xff08;1&#xff09;绝对值&#xff08;2&#xff09;三个取整方法&#xff08;3&#xff09;随机数方法random&#xff08;&#x…