当前位置: 首页 > 知识库问答 >
问题:

javascript - react 表单是否支持 vue 那种的动态更新?

张嘉熙
2023-06-02

技术栈是 react + antd@4 + antd-procomponents

如何实现动态表单。

// items 里面是动态表单,可以手动 push,数据来源是 ajax 拉回来的。
const [items, setItems] = useState([]);
// 每个表单的数据结构是差不多的。
// 但是真实结果和表单结构是对不上的,所以输入输出的时候需要做一下处理。

image.png


目前我尝试了如下方案,均不可以

  1. valueschange 实时更新,因为数据结构对不上,所以在覆盖的时候会有部分数据覆盖异常
  2. ref 读取,因为表单是渲染出来的,所以 ref 被覆盖了,只有最后一个。
  3. ref 读取,不知道是不是因为手风琴效果,导致没点开的表单数据是无法获取的。

共有1个答案

施彬郁
2023-06-02

React 表单和 Vue 表单都支持动态更新,但是实现方式略有不同。

在 React 中,可以使用 useState 钩子来管理表单状态,然后使用 setState 方法来更新表单状态。当用户提交表单时,可以使用 event.preventDefault() 阻止默认行为,然后使用 formRef.current.validate() 方法来验证表单数据,如果验证通过则调用 formRef.current.submit() 方法提交表单。

在 Vue 中,可以使用 v-model 指令来双向绑定表单数据,然后使用 $refs 对象来访问表单组件并更新其状态。当用户提交表单时,可以使用 $emit 事件来触发父组件的处理函数,从而更新父组件的状态。

总之,React 和 Vue 都支持动态更新表单,具体实现方式可以根据具体情况选择。

 类似资料:
  • 问题内容: 我想知道是否可以在Go中动态创建变量? 我在下面提供了一个伪代码来说明我的意思。我将新创建的变量存储在一个切片中: 在循环的最后,切片应包含变量:variable1,variable2 … variable9 问题答案: Go没有动态变量。大多数语言中的动态变量都实现为Map(哈希表)。 因此,您可以在代码中包含以下地图之一,该地图可以完成您想要的操作 这是执行您的操作的Go代码 ht

  • 类型:雷达图 1.值显示在 name 下面 2.支持值颜色样式的配置 找了一圈文档了 只能实现下图效果,还是找不到 值样式 配置 一定要自己亲自实现过的!!! (问了十个同事,基本都说用 formatter 然后就实现不了....)

  • 问题内容: 我知道React可以异步并批量执行状态更新以优化性能。因此,在调用之后,您将永远无法相信要更新的状态。但是你可以信任的反应 更新相同的顺序状态被称为对 相同的组件? 不同的组件? 考虑在以下示例中单击按钮: 1. 在以下情况下,是否有可能 a为假而b为真 : 2. 在以下情况下,是否有可能 a为假而b为真 : 请记住,这些是我用例的极端简化。我意识到我可以以不同的方式进行操作,例如,在

  • 因此,在android上启动最初的react原生模板项目时,我遇到了一些问题。在咨询某人之后,我被告知jdk 17不受支持。但我真的不想降级,因为这可能会破坏我已经拥有和处理的其他东西。具体来说,这是我得到的错误: 我已经看了这个,没有任何工作。Gradle:任务执行失败:进程DebugManifest

  • 问题内容: 我有以下代码: 我得到这个值:“ ”,这是 我想知道JavaScript是否处理64位整数,还是我做错了什么? 问题答案: JavaScript使用IEEE-754双精度(64位)格式表示数字。据我了解,这为您提供53位精度,或者15至16个十进制数字。您的数字位数超出了JavaScript所能应付的位数,因此最终得到了一个近似值。 这样并不是真正的“错误处理”,但是如果您需要对大数进

  • 在Web开发中对于这样的一个流程可能很眼熟: 打开一个网页显示出表单。 用户填写并提交了表单。 如果用户提交了一些无效的信息,或者可能漏掉了一个必填项,表单将会连同用户的数据和错误问题的描述信息返回。 用户再次填写,继续上一步过程,直到提交了一个有效的表单。 在接收端,脚本必须: 检查用户递交的表单数据。 验证数据是否为正确的类型,合适的标准。例如,如果一个用户名被提交,它必须被验证是否只包含了允