avue 表单绑定值;avue表单项根据某项的值去联动显隐或是联动下拉数据;avue select切换与另外一个select的options联动

效果:发布type为shp时 数据相关的都隐藏,当发布type为postgis时则显示

 

1.avue表单绑定值

html

<avue-form :option="option" v-model="publishForm"></avue-form>

 js data中定义

 data() {return {publishForm: {},option: {labelWidth: 120,column: [{label: '发布Type',prop: 'publishType',type: 'select',dicData: [{label: 'shp',value: 'shp'}, {label: 'postgis',value: 'postgis'}]},{label: '数据库地址IP',prop: 'dataBaseIp',display: false,},{label: '数据库密码',prop: 'dataBasePassword',display: false,},{label: '数据账号',prop: 'dataAccount',display: false,},{label: '数据库名',prop: 'dataBaseName',display: false,},]}}},   

 publishForm中就是表单中收集的值,后面将其中的数据与后端交互。

2.avue表单项根据某项的值去联动显隐

  watch: {'publishForm.publishType'() {if (this.publishForm.publishType === 'postgis') {const columnIp = this.findObject(this.option.column, "dataBaseIp")const columnPassword = this.findObject(this.option.column, "dataBasePassword")const columnAccount = this.findObject(this.option.column, "dataAccount")const columnName = this.findObject(this.option.column, "dataBaseName")columnIp.display = truecolumnPassword.display = truecolumnAccount.display = truecolumnName.display = true} else {const columnIp = this.findObject(this.option.column, "dataBaseIp")const columnPassword = this.findObject(this.option.column, "dataBasePassword")const columnAccount = this.findObject(this.option.column, "dataAccount")const columnName = this.findObject(this.option.column, "dataBaseName")columnIp.display = falsecolumnPassword.display = falsecolumnAccount.display = falsecolumnName.display = false}}},

注意:其中要显隐的表单项要给一个display初始状态值。

实现avue表单项根据某项的值 去联动 其他表单项下拉也是同理:

const column = this.findObject(this.option.group, "roleId");column.dicData = res.data.data;const deptColumn = this.findObject(this.userOption.column, 'deptId')deptColumn.dicUrl = `/api/blade-system/dept/select?userId=${userId}`

3.avue select切换与另外一个select的options联动

               {label: "发布空间",prop: "test",type: "select",dicUrl: "/api/blade-system/dict-biz/dictionary?code=GIS_WORKSPACE",props: {label: "dictValue",value: "dictKey"},event: {change: (val) => {if (!val) returnif (val) {if (val == 'VECTOR') {this.typeValue = 'GIS_VECTOR_STYLE'} else if (val == 'IMAGE') {this.typeValue = 'GIS_IMAGE_STYLE'} else if (val == 'LARGE_SCREEN') {this.typeValue = 'GIS_LARGE_SCREEN_STYLE'}getDicData(this.typeValue).then((res) => {const column = this.findObject(this.option.column, "shpStyle")column.dicData = res.data.data})}},},rules: [{required: true,message: "请选择发布空间",trigger: "change"}],},{label: "图层样式 ",prop: "shpStyle",type: "select",props: {label: "dictValue",value: "dictKey"},dicData: [],rules: [{required: true,message: "请选择图层样式",trigger: "change"}],},
propsdicData

先后顺序不能变 否则会报错

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c#示例-json序列化和json树

序列化 由于指针和引用类型的存在&#xff0c;在运行中的程序中&#xff0c;数据不一定是整块的。 可能东一块西一块散落在内存的各个地方。 序列&#xff0c;是指连续且有序的一个整体。序列化就是把数据变为连续有序整体的过程。 经过这样处理后的数据就可以方便的进行传输…

Leetcode---353周赛

周赛题目 2769. 找出最大的可达成数字 2770. 达到末尾下标所需的最大跳跃次数 2771. 构造最长非递减子数组 2772. 使数组中的所有元素都等于零 一、找出最大的可达成数字 这题就是简单的不能在简单的简单题&#xff0c; 题目意思是&#xff1a;给你一个数num和操作数t&…

【通过迭代相位检索重建衍射图案和全息图中缺失信息】不完整衍射图案的迭代重建和缺失像素的恢复(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

基于深度学习的高精度猴子检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于深度学习的高精度猴子检测识别系统可用于日常生活中或野外来检测与定位猴子目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的猴子目标检测识别&#xff0c;另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检测模型…

Stable Diffusion - 提示词翻译插件 sd-webui-prompt-all-in-one

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/131649921 sd-webui-prompt-all-in-one 是一个基于 stable-diffusion-webui 的扩展&#xff0c;目的是提高 提示词/反向提示词 输入框的使用体验&…

Android Camera2-预览、拍照、录像流程

一、Camera2实现预览、拍照、录像三大基础功能的流程框架图 Camera2关键几个类&#xff1a; CameraManager 管理手机上的所有摄像头设备。管理手机上的所有摄像头设备&#xff0c;它的作用主要是获取摄像头列表和打开&#xff08;openCamera&#xff09;指定的摄像头。 它其…

SpringBoot+微信小程序在线订餐小程序系统 附带详细运行指导视频

文章目录 一、项目演示二、项目介绍三、运行截图四、主要代码 一、项目演示 项目演示地址&#xff1a; 视频地址 二、项目介绍 项目描述&#xff1a;这是一个基于SpringBoot微信小程序框架开发的在线订餐小程序系统。首先&#xff0c;这是一个前后端分离的项目&#xff0c;代…

并行计算框架Polars、Dask的数据处理性能对比

在Pandas 2.0发布以后&#xff0c;我们发布过一些评测的文章&#xff0c;这次我们看看&#xff0c;除了Pandas以外&#xff0c;常用的两个都是为了大数据处理的并行数据框架的对比测试。 本文我们使用两个类似的脚本来执行提取、转换和加载(ETL)过程。 测试内容 这两个脚本主…

我爱学QT--qt的网络编程

学习地址&#xff1a; QT网络编程之TCP通信_哔哩哔哩_bilibili QT网络编程有TCP和UDP。 TCP编程需要用到两个类&#xff1a;QTcpServer和QTcpSocket 本节课目标&#xff1a; 完成一个服务器和一个客户端 首先是经典的几步 先设计ui再设计逻辑实现 多看看写的文件理解吧

设计模式-简单工厂模式

文章目录 简单工厂设计模式什么是简单工厂?为什么使用简单工厂工厂模式代码实现简单工厂优缺点优点&#xff1a; 简单工厂设计模式 学习视频 什么是简单工厂? 简单工厂模式属于类的创建型模式&#xff0c;又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实…

vue中使用Pinia和Vuex详解

最具有争议的Pinia和Vuex那个更好&#xff1f; 我们使用Vue2的时候&#xff0c;Vuex作为一个状态管理工具在组件中使用方便了很多。Vue3推出后&#xff0c;虽然相对于Vue2很多东西都变了&#xff0c;但是核心的东西还是没有变的&#xff0c;比如说状态管理、路由等等。实际上&a…

Group, AnimationUpdate, Menu 的使用

1. Group 组堆栈布局的使用 1.1 实现 // 组堆栈 struct GroupBootcamp: View {var body: some View {VStack(spacing: 50) {Text("Hello, world!")Group() {Text("Hello, world!")Text("Hello, world!")}.font(.caption).foregroundColor(.gree…