vue 动态添加控件 验证 和多个表单验证

遇到的问题
1.多表单验证
2.根据表单选中值,动态加载验证
3,切换不同的参数值集合,显示不同页面

1.我的业务场景

		一个报表查询模块,添加存储过程,设置参数属性
		。根据不同的报表查询条件显示不同的查询页面和报表。

根据存储过程的参数自动生成对应的参数页面,
在这里插入图片描述
实现过程:将存储过程用@分割后,得到参数名。生成对应的参数属性添加

新增页面paramPage.vue

在父页面引用该页面,在子页面设置接收参数的值
在这里插入图片描述

并动态生成参数属性页面
在这里插入图片描述
在这里插入图片描述

在实现该功能,是遇到如下问题:
1.动态添加验证,更改后UI没有改变
在字段设置验证字段
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在上面的字段验证中,根据用户选中的[作用类型()],显示字典值是否必填,
在这里我设置了一个为空的验证empty.当不必选时.该字段验证切换为空验证.
如果把空验证设置为null时,UI在提交时检验字段时,会漏该字段,且也不能获取该字段的值

2.验证提交表单.
因业务场景参数会用多个,该表单也会重复多个.在提交验证时,循环验证个表单数据

在这里插入图片描述
在这里插入图片描述
设置字段 ref=“ruleForm”
通过循环参数的数据,得到索引index
this.$refs[‘ruleForm’][index] 获取当前索引的表单,
如:验证不通过,返回给父页面validationState字段,中断提交

 var validationState = true
      this.parameterData.forEach((item, index) => {
        this.$refs['ruleForm'][index].validate(valid => {
          if (valid) {
          } else {
            this.$message.warning(`参数${item.queryName}验证不通过`)
            validationState = false
          }
        })
      })
      callback(validationState)

报表信息添加页完成

在这里插入图片描述
根据报表显示对应的参数查询和报表结果
在这里插入图片描述

在这里插入图片描述
在实现该功能中,发现切换报表时,之前的参数不会清除,而自动追加在当前报表参数后.
解决办法:
1.每次点击报表时,先将之前存储的参数字段数组清空后,在重新将查询到参数属性值数组赋值.(ps:,修改稿后还是有几率出现上诉问题)
2.将查询参数的显示页,单独做成子页面,父页面引用时通过key值重新渲染页面
在这里插入图片描述
之后发现,重新渲染后的页面,必须手动聚焦,
才能获取到控件的值,因此在页面加载完成后,通过vue.set()设置默认值

Vue.set(对象,对象的键, 对象的值)

如用普通的this.queryParam.name=xx赋值,点击查询时,没有该字段名称+字段值显示,必须输入后才会正常获取到该字段值.

this.paramData是查询数据库后返回的参数集合
在这里插入图片描述
在这里插入图片描述
显示报表结果.
在这里我用的是echarts

后台返回对应的查询结果.
在这里插入图片描述
前端设置

在这里插入图片描述

查询结果赋值
在这里插入图片描述
报表显示子页面
在这里插入图片描述
在这里插入图片描述
显示结果

在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Vue.js 是一个用于构建用户界面的框架。Vue 提供了一些实用的特性来帮助你创建表单。 其中之一是表单控件绑定。你可以使用 `v-model` 指令将表单控件Vue 实例的数据进行双向绑定。这样,当表单控件的值发生改变时,Vue 实例的数据也会跟着更新,反之亦然。 例如,你可以使用如下代码创建一个带有单行文本输入框的表单: ``` <template> <form> <label for="name">Name:</label> <input type="text" v-model="name" id="name" /> </form> </template> <script> export default { data() { return { name: '' } } } </script> ``` 这样,当用户在文本输入框中输入内容时,`name` 变量的值也会跟着更新。 Vue 还提供了一些验证相关的特性,可以帮助你对表单输入的数据进行验证。例如,你可以使用 `v-validate` 指令来验证表单数据的有效性,使用 `v-if` 指令来显示验证错误信息等。 总的来说,使用 Vue 创建表单是非常方便的,它提供了很多实用的特性来帮助你实现表单的各种功能。 ### 回答2: Vue低代码form表单是一种基于Vue框架的表单设计方式,旨在降低开发者编写和维护表单的工作量。它通过封装常用的表单组件和提供简洁的API,使开发者能够快速地创建各种表单,并自动处理表单验证和数据的收集。 使用Vue低代码form表单,开发者只需要通过简单的配置就能够创建表单。首先,我们需要定义表单的字段和验证规则。可以通过使用预定义的组件(如输入框、下拉框等)来定义字段,然后通过指定规则来验证字段的值。验证规则可以是必填、最大长度、邮箱格式等等。 接下来,我们需要将表单配置信息传递给Vue低代码form表单组件。这样,该组件会根据配置信息自动生成表单界面,并且自动为表单字段加上验证功能。同时,表单组件还会提供一系列API,可以根据需要获取表单数据、验证表单、提交表单等操作。 使用Vue低代码form表单的好处是显而易见的。首先,它能够大大减少开发者编写表单的代码量,提高开发效率。其次,表单组件集成了常用的表单验证功能,减少了验证逻辑的开发难度。最后,表单组件还提供了一些额外的功能,如动态表单、条件显示等,使开发者可以更加灵活地定制表单界面。 总而言之,Vue低代码form表单是一种简化表单开发的工具,通过提供简洁的API和功能丰富的表单组件,帮助开发者快速创建、验证和提交表单,从而提高开发效率。 ### 回答3: Vue低代码form表单是一种在Vue框架下使用少量代码来创建表单的方式。通过使用Vue的数据驱动特性,我们可以轻松地定义和管理表单的状态、验证规则和提交行为。 首先,我们可以使用Vue的响应式数据绑定功能来定义表单的数据模型。这样,我们就可以轻松地获取、设置和监听表单中的各个字段的值。例如,我们可以定义一个data对象,包含表单的各个字段,如用户名、密码、邮箱等。然后,在表单输入框中使用v-model指令将输入的值与这些字段进行绑定。 其次,我们可以使用Vue提供的表单验证插件或自定义的验证规则来进行表单验证。可以使用v-bind指令将验证规则与表单字段绑定,在用户输入或提交表单时触发验证逻辑。通过配置验证规则、错误提示信息以及触发时机,我们可以实现自定义的表单验证逻辑。例如,可以验证用户名是否为空或长度是否符合要求,邮箱是否符合格式等。 最后,在用户提交表单时,我们可以使用Vue提供的事件监听机制来处理提交逻辑。可以使用v-on指令监听表单的submit事件,并在对应的方法中编写提交表单的代码。在该方法中,我们可以获取表单字段的值,并进行进一步的处理,如发送请求、重置表单等。 总之,通过Vue的数据驱动、响应式和事件监听功能,我们可以低代码地创建和管理表单,实现表单数据的绑定、验证和提交逻辑。这样,我们可以更加高效地开发表单功能,提升开发效率。同时,由于使用了Vue框架,我们还可以享受到其它优秀特性,如组件化、数据流管理等,使表单开发更加强大和灵活。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值