react-native - 在本机反应中使用循环动态创建单选按钮
问题描述
我正在创建一个反应原生的示例应用程序。在这个应用程序中,我在一个数组中获取了 API 数据。我需要做的是根据数组中元素的数量创建单选按钮的数量。所以我使用了从索引位置 0 到数组长度执行的for 循环,但问题不是显示等于数组中元素数量的单选按钮,它只是显示该特定数组的最后一个元素的单选按钮。
下面是代码
var json_response_SelectSegment = await AuthService.GetSegmentDropdown(this.state.machineId,this.state.orderBySegment,this.state.orderByDescendingSegment,this.state.allRecordsSegment);
console.log("***got Segment Data*******",json_response_SelectSegment.data.data.segmentMainResponse.segmentResponse)
var Json_respo_Segment=json_response_SelectSegment.data.data.segmentMainResponse.segmentResponse
console.log("data = ",Json_respo_Segment.length)
for(i=0;i<Json_respo_Segment.length;i++){
console.log("**",Json_respo_Segment[i].Segment)
console.log("**",Json_respo_Segment[i].SegmentId)
this.state.radio_props_Segment=[{ label: Json_respo_Segment[i].Segment, value: Json_respo_Segment[i].Segment }]
console.log("Hello : ",this.state.radio_props_Segment)
}
它显示了 console.log 中的所有数组元素(例如数组包含 4 个元素),但它只为 UI 中的最后一个元素创建单选按钮
请问有什么解决办法吗?
解决方案
试试这个方法
const radioData = [];
for(i = 0 ; i < Json_respo_Segment.length ; i++){
radioData.push(
{ label: Json_respo_Segment[i].Segment,
value: Json_respo_Segment[i].Segment
}
);
}
const data = [...this.state.radio_props_Segment];
data.push(radioData);
this.setState({radio_props_Segment: data});
推荐阅读
- llvm - 如何仅使用一个 arg 调用 LLVM IR arg?
- regex - 正则表达式负前瞻忽略代码部分
- java - 如何通过 Redisson 客户端通过 RMap 检查该值是否已存在于 Redis 中?
- javascript - 多分页?
- netcdf - 有没有一种方便的方法可以用 ncap2 转换多种数据类型?
- python - 如何为存储在烧瓶服务器中的文件生成下载链接而不是直接下载文件?
- c# - 如何使用 DiscUtils.NTFS 打开和读取文件?
- javascript - 如何在 Vue 中访问 Highcharts 股票工具提示数据?
- javascript - 使用 javascript 和 CSS 变量的 localStorage 制作切换主题按钮,但面临许多问题
- selenium - 在框架中使用驱动程序