javascript - 在 react.js 中选择选项的值字段中设置 id
问题描述
我tblGender
在数据库中有一个包含 3 个字段的表fldID
,fldName
并且isActive
。表有一个引用oftblEmployee
的外键。现在我从数据库中获取一个性别列表并将其设置如下:fldID
tblGender
获取数据:
fetch('api/Employee/GetGenders')
.then(response => response.json() as Promise<Array<any>>)
.then(data => {
this.setState({ genderList: data });
});
填充下拉列表:
<select className="form-control" data-val="true" name="FldGender" defaultValue={this.state.empData.FldGender} onChange={e => this.state.empData.FldGender = e.target.value} required>
<option value="">-- Select Gender --</option>
{this.state.genderList.map(gender =>
<option key={gender.fldID} value={gender.fldID}>{gender.fldName}</option>
)}
</select>
但未gender.fldID
在值中设置。现在,如果我尝试设置gender.fldName
它已成功设置。但我想gender.fldID
在下拉列表更改时获取。如何在'事件中设置fldID
而不是设置?fldName
this.state.empData.FldGender
onChange
解决方案
看起来你有一个错字。您的 genderList 数据有fldId
,但在您的代码中您已将其提及为fldID
. 请更改您的选项如下
<option key={gender.fldId} value={gender.fldId}>{gender.fldName}</option>
推荐阅读
- facebook-graph-api - 已达到 Facebook API 调用速率限制
- c# - 如何使用 asp.net 将日期时间参数传递给您的存储过程
- r - 在 Shinyapps 中计算
- image - Matlab imwrite 改变了我的颜色
- java - 在 GitLab 中使用 Snyk 进行 gradle wrapper 时出现权限错误
- cmake - 使用 CTest 和 Cdash 上传图像差异
- javascript - 划分 React.js 组件
- javascript - 无论 dialogflow v2 中的用户输入是什么,如何强制检测特定意图
- angularjs - 命令运行->'protractor protractor.conf.js'和'npm run e2e'之间的区别
- node.js - 如何将 package.json 和 npm-shrinkwrap.json 升级到最新节点 v8.11.1