javascript - React本机Android Picker不显示数据
问题描述
它picker
本身是它的显示,而不是它的数据。此外,当我单击它时,它会显示一个空白的白色标签。
{/* Order by picker */}
<View style={globalStyles.rowView}>{/* FlexDirection:'row' */}
<Text style={[globalStyles.text,styles.text]}>Ordenar por:</Text> {/* color:colors.white, fontSize:"17rem"*/}
<Picker style={[globalStyles.text, styles.picker]}{/* color:colors.white, fontSize:"17rem"*/}{/* flex:1 */}
selectedValue={this.state.orden}
onValueChange={(itemIndex)=>{this.setState({orden:this.state.ordenar[itemIndex]})}}>
{this.state.ordenar.map(element => {
<Picker.Item label={element} value={element}/>
})}
</Picker>
</View>
当我尝试
<Picker.Item label={this.state.orden} value={this.state.orden}/>
或与
<Picker.Item label={this.state.ordenar[1]} value={this.state.ordenar[1]}/>
它们都可以工作,所以this.state.orden
不是this.state.ordenar
空的,我想这不是样式或弹性框的问题,因为第二种方式是显示数据,所以我认为问题出在map
函数上
解决方案
您必须从 map 函数中返回jsx
元素才能使其工作。请参阅下面的代码片段,我已经更新了您的地图功能。
{/* Order by picker */}
<View style={globalStyles.rowView}>{/* FlexDirection:'row' */}
<Text style={[globalStyles.text,styles.text]}>Ordenar por:</Text> {/* color:colors.white, fontSize:"17rem"*/}
<Picker style={[globalStyles.text, styles.picker]}{/* color:colors.white, fontSize:"17rem"*/}{/* flex:1 */}
selectedValue={this.state.orden}
onValueChange={(itemIndex)=>{this.setState({orden:this.state.ordenar[itemIndex]})}}>
{this.state.ordenar.map(element => {
return(<Picker.Item label={element} value={element}/>) /*wrap your picker item around return.*/
})}
</Picker>
</View>
推荐阅读
- java - 列表
RecyclerView 适配器中的数据设置 - javascript - 在 JS 中使用 fullcalendar 在鼠标悬停/输入事件时添加带有事件详细信息的弹出窗口
- java - WebElement 在运行时变为空
- wordpress - 如何在嵌入式报告中从 Google Data Studio 中删除页脚/水印?
- c - 我可以更改 pthread_create 以映射不在堆栈中的新线程吗?
- php - 使用 WordPress "wp_insert_post" 将查询中的请求变量添加到旋转钩
- c# - 如何将调整大小的图像保存到 ASP.NET Core 应用程序中的 Azure Blob 存储?
- json - AWS Glue Crawler 将 JSON 数组键注册为结构
- swift - 从更改的 GraphQL 文件生成 Swift 代码而不将更改推送到云端
- r - 通过单击 ggplot/plotly 散点图播放音频