reactjs - 如何在反应中将值绑定到动态控件
问题描述
我通过进行 2 个 api 调用来动态加载表单控件。第一个 api 获取表单控件的列表,第二个 api 获取先前加载的控件的数据。前半部分工作正常,我能够动态加载控件,
架构:
[{ id: 1, input: 'TextBox'},
{ id: 2, input: 'TextArea'}]
代码:
fields.map((type: any, i: any) => {
switch (type.input) {
case 'TextBox':
return (<input type="text" id={type.id}> />)
case 'TextArea':
return (<textarea itemType="text" id={type.id}> />)}});
上面的代码工作正常,我能够创建表单控件。
下一部分是将值绑定到动态控件,我进行另一个 API 调用来获取数据,我应该映射 id 字段并绑定数据
架构:
[{ id: 1, value: 'testTextBox'},
{ id: 2, value: 'testTextArea'}]
我现在如何将数据绑定到控件?我尝试过使用状态,但无法实现。或者我可以在获得第二个 api 响应后更新第一个模式并为其添加值键,如下所示,
fields = [{ id: 1, input: 'TextBox', value: 'testTextBox'},
{ id: 2, input: 'TextArea', value: 'testTextArea'}]
请建议如何循环并将值键添加到字段数组?
解决方案
使用:setState({})
创建绑定到状态的控件:
(<input type="text" id={type.id}> value={this.state.id}/>)
收到值后,将其设置为以下状态:
this.setState({id: value});
推荐阅读
- javascript - 水平对齐一个 div 和一个 DIV 内的两个图像
- ios - IOS Mapkit 或 Core Location 解决旅行商问题
- ruby-on-rails - 有条件地为 activerecords 中的多对多关系创建新记录
- python - 与数据库交互时我应该创建同步还是异步 POST API?
- python - 编码问题请求结果
- reactjs - React 钩子 useState 数组
- php - CodeIgniter 2.1.4 中出现错误的数据库连接
- dynamics-crm - CRM 工作流中使用的代码活动中的异常
- python - 如何在 python 中存储 SQL 表以使用它?
- c# - 在 ASP.NET Web 应用程序中使用函数