javascript - 按名称更新不受控制的输入
问题描述
我的反应组件中有以下代码
<form ref={form}>
<IonItem>
<IonLabel>Name</IonLabel>
<IonInput defaultValue="" name="Name"></IonInput>
</IonItem>
<IonItem>
<IonLabel>Domain Code</IonLabel>
<IonInput defaultValue="" name="Code"></IonInput>
</IonItem>
</form>
我想将具有相同字段名称的 props.domain 对象绑定{ Name: string, Code: string }
到表单输入中,例如作为输入名称
const elements = form.current.elements;
Object.entries(props.domain).forEach(x => {
const [name, value] = x;
const input = elements.namedItem(name)
if(input instanceof Element) {
input.setAttribute('value', value);
}
})
如果我console.log(input)
可以看到它的 value 属性已正确更新为来自域对象的值,但该字段仍然看起来是空的。如果我console.log(form.current)
显示表单的输入没有值,就像表单不知道输入的值已更新。我怎样才能做到这一点?我想让它不受控制,因为我有很多输入并且不想为所有输入添加处理程序我宁愿只使用 Formik 或其他一些库
PS 我来自 Angular 背景,这对于反应形式来说是轻而易举的事。我是反应新手
解决方案
推荐阅读
- c++ - 避免全局变量制作 boost asio 套接字包装器
- c# - 您对 UWP 中的不同日志记录方法有何建议?
- python - Python ThreadPool 映射中的多个数组
- java - 在 Android 中关闭 DialogFragment 之前确认
- javascript - React 每周调度器的数据结构
- azure-web-app-service - Abp.io 角度项目。Swagger 页面加载,但所有调用都返回 500 内部服务器错误
- csv - 通过交互式绘图编辑 csv 文件
- c - 选择系统调用
- reactjs - 主页 navlinks 链接保持活跃反应
- javascript - 异步倒计时