typescript - React Native:如何从具有嵌套 json 数组的状态中检索数据并映射该状态以获取具有给定 id 的特定值
问题描述
我有一个反应本机选择器,它有一组对象,我从我的 API 中获取并保存到属性下的状态。 这是我获取的数据的屏幕截图
当我选择属性下拉列表时,我需要从 _id 中找到数组中的正确对象。我需要使用 Javascript 逻辑来完成此操作,而无需再次调用我的服务器。这是我在下拉菜单中的代码
<View style={{margin: 20, flexDirection: 'row', flex: 1}}>
{/*PROPERTY....................................................*/}
<View style={{padding: '10px'}}>
<Picker style={styles.picker} selectedValue={this.state.pickerProperty}
onValueChange={(itemValue, itemIndex) => this.getPropertyById(itemValue)}>
<Picker.Item label="Select Property" value=""/>
{this.state.properties.map((item, key) => (
<Picker.Item label={item.PropertyName} value={item._id} key={key}/>
))}
</Picker>
{/*{this.getPropertyById()}*/}
</View>
{/*TYPE........................................................*/}
<View style={{padding: 10}}>
<Picker style={styles.picker} selectedValue={this.state.pickerType}
onValueChange={(itemValue, itemIndex) => this.setState({pickerType: itemValue})}>
<Picker.Item label="Select Type" value=""/>
{this.state.propById.map((item, key) => (
<Picker.Item label={item.tname} value={item.tname} key={key}/>
))}
</Picker>
<Text>{this.state.pickerType}</Text>
</View>
</View>
我需要在这个函数中编写我的代码
getPropertyById=(itemValue)=> { //Need the code here
}
解决方案
this.setState({
pickerProperty : this.state.properties.find(item => item._id === itemValue)
})
或作为一个函数
getPropertyById(itemValue) {
this.setState({
pickerProperty : this.state.properties.find(item => item._id ===
itemValue)
})
}
推荐阅读
- android - 如何获取android webViewClient的原始HTML响应
- javascript - 带有咖啡和 jquery 的 Rails 5
- string - 使用 AppleScript 在终端中写入字符串
- c - 打印 argv 中的元素之一时输出错误
- amazon-dynamodb - DynamoDB 通过检查属性值长度进行条件更新
- python - 在 Python 3 中逐行排序 .txt 文件的内容
- c# - 接口中的多个通用列表
- c# - 无法将 foreach 更改为 LINQ 语法
- tensorflow - Tensorflow:如何检测音频方向
- c++ - 从父模板类转换为子模板类