当前位置: 首页 > news >正文

【原创】解决vue-element-plus-admin无法实现下拉框动态控制表单功能,动态显隐输入框

前言

目前使用vue-element-plus-admin想要做一个系统定时任务功能,可以选择不同的定时任务类型,比如使用cron表达式、周期执行、指定时间执行等。每种类型对应不同的输入框,需要动态显隐输入框才行,但是这个vue-element-plus-admin很顽固啊,表单貌似初始化后就改不了了,作为一名Java后端工程师只能拼命钻研这个框架了,最终也是解决了这个问题。

 GitHub上也有人在项目里问同样的问题,作者也没给回复,那只能我自己来了

前端页面:选择不同循环类型显示不同的输入框

获取当前的formData

既然下拉框改了,那我form中的数据肯定发生了变化,那我将这个数据通过下拉选的onChange方法重新获取一下不就行了

定义formDataRef,并在下拉选改变时重新获取

const formDataRef = ref(getFormData())const schema = reactive<FormSchema[]>([{field: 'cycleType',label: '循环类型',component: 'Select',componentProps: {placeholder: '请选择循环类型',clearable: true,options: [{label: '指定时间',value: 10},{label: '循环执行',value: 20},{label: 'cron表达式',value: 30}],onChange: (value: number) => {formDataRef.value = getFormData()}}}
])

 其中getFormData()是useForm()中formMethods中的方法

监听formDataRef的变化

目前这个formDataRef是套了几层的东西,没法直接用,我这边又定义了一个realFormData,用于解包一层formDataRef

const formDataRef = ref(getFormData())
const realFormData = ref({})
watch(() => formDataRef,(newVal) => {newVal.value.then((res) => {realFormData.value = res})},{immediate: true,deep: true}
)

将监听到新的formDataRef的值赋值给realFormData,这样终于算是可以直接用了,后面不管有多少个下拉框,直接用realFormData比较就行了。

输入框动态计算是否隐藏

最后就是显隐输入框了,这里采用动态计算remove的值来达成这个功能

  {field: 'cron',label: 'cron表达式',component: 'Input',componentProps: {placeholder: '请输入cron表达式',clearable: true},remove: computed(() => {return realFormData.value.cycleType !== 30})}

例如上面的cron表达式输入框,我通过computed计算属性来判断这个输入框是否显示,目前只有cycleType为30才能显示出这个输入框。

实现效果

结语

这个vue-element-plus-admin对于用户比较复杂的需求有点难以招架,就这么一个较为简单的需求我这个后端程序猿就搞了好久,好在还是解决了

相关文章:

【原创】解决vue-element-plus-admin无法实现下拉框动态控制表单功能,动态显隐输入框

前言 目前使用vue-element-plus-admin想要做一个系统定时任务功能&#xff0c;可以选择不同的定时任务类型&#xff0c;比如使用cron表达式、周期执行、指定时间执行等。每种类型对应不同的输入框&#xff0c;需要动态显隐输入框才行&#xff0c;但是这个vue-element-plus-adm…...

SpringBoot开发——初步了解SpringBoot

文章目录 一、SpringBoot简介 1、什么是Spring Boot2、Spring Boot的优点3、Spring Boot功能 二、Spring与Spring Boot对比三、Spring Boot与Spring MVC四、Spring Boot体系结构五、Springboot Initializr 1、Spring Initializr2、Spring Initializr模块 一、SpringBoot简介…...

双轴伺服电机驱动控制器AGV、AMR专用双伺服电机驱动控制器解决方案

工业机器人数控机床XY机械手双轴机器人堆垛机专用双轴伺服电机驱动控制器48V 14ARMS带有STO功能&#xff0c;隔离高压CAN/RS485/USB通讯支持编码器和霍尔输入 双伺服电机驱动控制器TMCM2611功能介绍 集成2个伺服电机的控制和驱动于一体供电电压48V&#xff0c;驱动电流14A RM…...

【VB语言】EXCEL中VB宏的应用

【VB语言】EXCEL中VB宏的应用 文章目录 [TOC](文章目录) 前言一、EXCEL-VB1.实验过程2.代码 二、EXCEL-VB 生成.c.h文件1.实验过程2.代码 四、参考资料总结 前言 1.WPS-VB扩展包 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、EXCEL-VB 1.实验过…...

Ubuntu添加桌面快捷方式

以idea为例 一. 背景 在ubuntu中&#xff0c;很多时候是自己解压的文件并没有桌面快捷方式&#xff0c;需要自己找到对应的目录的执行文件手动打开&#xff0c;很麻烦 而只需要在 /usr/share/applications 中创建自定义的desktop文件就能自动复制到桌面 二. 添加方法 创建desk…...

10G EPON光模块

一、10G EPON对称光模块 工作模式&#xff1a;上行突发接收、下行连续发射。 工作原理&#xff1a;当需要发送信号时&#xff0c;系统信号通过光模块的电接口把信号传送到驱动芯片&#xff0c;芯片处理后&#xff0c;驱动激光器发出调制光信号&#xff0c;经光纤发到远端&…...

Elasticsearch+Logstash+Kibana可视化集群部署

文章目录 1.组件介绍简述2.集群规划3.Es组件部署4.Logstash组件部署5.Kibana组件部署6.Kibana的基础使用 1.组件介绍简述 Elasticsearch&#xff1a;开源实时分布式搜索和分析引擎&#xff0c;支持大规模数据存储和高吞吐量&#xff0c;提供丰富的搜索功能和可扩展性。 Logsta…...

基于CanMV IDE 开发软件对K210图像识别模块的开发

简介 CanMV IDE 是一款专为 K210 芯片设计的图形识别 Python 软件&#xff0c;它提供了强大的功能&#xff0c;帮助开发者轻松实现基于 K210 芯片的图形识别应用。无论你是初学者还是经验丰富的开发者&#xff0c;CanMV IDE 都能为你提供便捷的开发环境和丰富的资源。 硬件资…...

win11系统 Docker Desktop提示Docker Engine stopped解决全过程记录

DockerDesktop安装指南以及Windows下WSL2和 Hyper-V相关问题追查 【已解决】win10系统 Docker 提示Docker Engine stopped解决全过程记录 本篇文章主要记录Docker Desktop安装和使用时出现的问题及解决方法&#xff0c;以及后续使用夜神模拟器&#xff0c;关闭了Hyper-V时&am…...

工作室如何实现一机一IP

对于工作室而言&#xff0c;多开游戏账号却是其运营模式的核心需求。他们通过大量囤积金币、资源&#xff0c;再将其变现来获取利润。在这种运营模式下&#xff0c;账号数量直接关系到工作室的收益&#xff0c;所以解决 IP 问题就成了手游工作室发展道路上的首要难题&#xff0…...

WEB安全--SQL注入--二次注入

一、原理&#xff1a; 二次注入的关键在于攻击者的输入并不立即执行&#xff0c;而是经过某些存储或处理后&#xff0c;在后续某个步骤中再触发注入攻击 二、示例&#xff1a; 2.1、sqli-labs-master/less-24&#xff1a; admin# 第一次在网页注册账号和密码时没有漏洞&#x…...

构建现代微服务安全体系:Spring Security、JWT 与 Spring Cloud Gateway 实践

构建现代微服务安全体系&#xff1a;Spring Security、JWT 与 Spring Cloud Gateway 实践 本文将基于提供的代码示例&#xff0c;详细介绍如何在一个Java微服务项目中使用Spring Security、JWT和Spring Cloud Gateway来构建一个高效且安全的微服务体系&#xff0c;并整合性能优…...

Spring Boot 动态数据源实操指南

在实际开发中&#xff0c;我们经常会遇到需要动态切换数据源的场景&#xff0c;比如多租户系统、读写分离、分库分表等。Spring Boot 提供了灵活的配置方式&#xff0c;结合 AbstractRoutingDataSource 可以轻松实现动态数据源切换。本文将带你一步步实现 Spring Boot 动态数据…...

HBase高级技巧:解锁更强大的数据处理能力

HBase高级技巧&#xff1a;解锁更强大的数据处理能力 嘿&#xff0c;小伙伴们&#xff01;在掌握了HBase的基本操作之后&#xff0c;今天我们将深入探讨一些HBase的高级技巧。这些技巧将帮助你在面对复杂的数据处理需求时更加得心应手&#xff0c;进一步提升系统的性能和可靠性…...

【进阶】JVM篇

为什么学习jvm 1、面试的需要 学过java的程序员对jvm应该不陌生&#xff0c;程序员为什么要学习jvm呢&#xff1f;其实不懂jvm也可以照样写出优质的代码&#xff0c;但是不懂jvm会被大厂的面试官虐的体无完肤。 2、高级程序员需要了解 jvm作用 jvm负责把编译后的字节码转换…...

DeepSeek官方推荐的AI集成系统

DeepSeek模型虽然强大先进&#xff0c;但是模型相当于大脑&#xff0c;再聪明的大脑如果没有输入输出以及执行工具也白搭&#xff0c;所以需要有配套工具才能让模型发挥最大的作用。下面是一个典型AI Agent架构图&#xff0c;包含核心组件与数据流转关系&#xff1a; #mermaid-…...

【动态规划篇】:当回文串遇上动态规划--如何用二维DP“折叠”字符串?

✨感谢您阅读本篇文章&#xff0c;文章内容是个人学习笔记的整理&#xff0c;如果哪里有误的话还请您指正噢✨ ✨ 个人主页&#xff1a;余辉zmh–CSDN博客 ✨ 文章所属专栏&#xff1a;动态规划篇–CSDN博客 文章目录 一.回文串类DP核心思想&#xff08;判断所有子串是否是回文…...

JENKINS(全面)

一.linux系统中JENKINS的安装 注意&#xff1a;安装jenkins需要安装jdk&#xff0c;而且具体版本的jenkins有相对应的jdk版本。可参考以下链接。 Redhat Jenkins 软件包https://pkg.jenkins.io/redhat-stable/https://pkg.jenkins.io/redhat-stable/https://pkg.jenkins.io/r…...

Promise详解大全:介绍、九个方法使用和区别、返回值详解

Promise的介绍 Promise是异步编程的一种解决方案&#xff0c;它的构造函数是同步执行的&#xff0c;then 方法是异步执行的&#xff0c;所以Promise创建后里面的函数会立即执行&#xff0c;构造函数中的resolve和reject只有第一次执行有效&#xff0c;&#xff0c;也就是说Pro…...

尚硅谷爬虫note004

一、urllib库 1. python自带&#xff0c;无需安装 # _*_ coding : utf-8 _*_ # Time : 2025/2/11 09:39 # Author : 20250206-里奥 # File : demo14_urllib # Project : PythonProject10-14#导入urllib.request import urllib.request#使用urllib获取百度首页源码 #1.定义一…...

AI编程助手集成Codex CLI:MCP协议实现智能代码分析与本地模型部署

1. 项目概述&#xff1a;连接AI与代码的智能桥梁 如果你和我一样&#xff0c;日常开发中频繁使用 Claude 或 Cursor 这类AI编程助手&#xff0c;同时又深度依赖 OpenAI Codex CLI 进行代码分析和重构&#xff0c;那么你很可能面临一个效率瓶颈&#xff1a;如何在不同的工具之间…...

运行若依项目

参考视频&#xff1a;【开源项目学习】若依前后端分离版&#xff0c;通俗易懂&#xff0c;快速上手 点击观看 文章目录1 打开Vue分离版本gitee2 复制gitee3 在本地idea克隆项目4 打开项目5 项目结构6 单独打开前端项目7 配置数据库本地执行SQL脚本在工程中配置数据库MySQL配置R…...

llmaz:简化本地大语言模型部署与集成的Python工具箱

1. 项目概述&#xff1a;一个面向开发者的本地化大语言模型工具箱最近在折腾本地大语言模型&#xff08;LLM&#xff09;时&#xff0c;发现了一个挺有意思的项目&#xff1a;InftyAI/llmaz。这名字乍一看有点抽象&#xff0c;但拆开来看&#xff0c;“llm”指代大语言模型&…...

Skill Hub:基于MCP协议的LLM技能动态路由与按需加载架构解析

1. 项目概述&#xff1a;一个彻底改变LLM技能调用方式的“技能路由器”如果你正在使用Claude、Cursor或者任何支持MCP协议的AI开发工具&#xff0c;并且为如何高效管理海量技能&#xff08;Skill&#xff09;而头疼&#xff0c;那么Skill Hub这个项目&#xff0c;你绝对不能错过…...

终端效率革命:一站式CLI工具multicli的设计理念与实战应用

1. 项目概述&#xff1a;一个终端里的“瑞士军刀”如果你和我一样&#xff0c;每天的工作都离不开终端&#xff0c;那你肯定也经历过这样的场景&#xff1a;为了一个简单的任务&#xff0c;比如查看某个服务的状态、格式化一段JSON、或者快速计算一个哈希值&#xff0c;你需要在…...

Lichess Mobile多语言支持:如何实现147种语言的国际化

Lichess Mobile多语言支持&#xff1a;如何实现147种语言的国际化 【免费下载链接】mobile Lichess mobile app 项目地址: https://gitcode.com/gh_mirrors/mobile6/mobile Lichess Mobile作为一款全球流行的开源国际象棋应用&#xff0c;通过强大的国际化架构支持147种…...

构建多模型备选策略以保障AI应用服务的高可用性

构建多模型备选策略以保障AI应用服务的高可用性 在将大模型能力集成到生产环境时&#xff0c;服务的稳定性是核心考量之一。单一模型供应商的API端点可能因网络波动、服务维护或配额耗尽而暂时不可用&#xff0c;直接影响终端用户体验。通过聚合多个模型供应商的服务&#xff…...

基于MCP协议实现AI助手访问编辑器本地历史,提升代码回溯与协作效率

1. 项目概述&#xff1a;当AI助手能“翻阅”你的代码时光机 如果你是一名开发者&#xff0c;大概率经历过这样的场景&#xff1a;在编辑器里埋头苦干几小时&#xff0c;重构了一段关键代码&#xff0c;保存、测试&#xff0c;一切看起来都挺好。结果第二天回来&#xff0c;发现…...

【AISMM模型落地指南】:3大行业联盟建设失败陷阱与5步标准化实施路径

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AISMM模型与行业联盟建设 AISMM&#xff08;Artificial Intelligence Security Maturity Model&#xff09;是一种面向AI系统全生命周期的安全成熟度评估框架&#xff0c;由跨领域安全专家与产业联盟共…...

金融AI智能体技能库:基于大语言模型的垂直领域能力封装实践

1. 项目概述&#xff1a;一个面向金融领域的智能体技能库最近在探索AI智能体&#xff08;Agent&#xff09;如何与垂直行业深度结合时&#xff0c;我注意到了eforest-finance/eforest-agent-skills这个项目。从名字就能看出&#xff0c;这是一个由eforest-finance组织维护的&am…...