React Native将状态中的数组值应用为Picker项

时间:2017-03-25 12:57:52

标签: react-native react-native-android

我的state中有一个名为Categories的数组。

这些是它的价值观:['Food', 'Home', 'Savings']

我的目标是我需要将它们渲染为Picker.items供我的用户选择。

这怎么可能?

我尝试在ListView对象中使用Picker,但当我导航到该页面时,

  

AppName停止工作

提示。

2 个答案:

答案 0 :(得分:19)

您无需在picker

中使用listview
var options ={
    "1": "Home",
    "2": "Food",
    "3": "Car",
    "4": "Bank",
};

<Picker
    style={{your_style}}
    mode="dropdown"
    selectedValue={this.state.selected}
    onValueChange={()=>{}}>
    {Object.keys(options).map((key) => {
        return (<Picker.Item label={this.props.options[key]} value={key} key={key}/>) //if you have a bunch of keys value pair
    })}
</Picker>

2)当你有一个值数组时

var options =["Home","Savings","Car","GirlFriend"];

<Picker
    style={{your_style}}
    mode="dropdown"
    selectedValue={this.state.selected}
    onValueChange={()=>{}}> //add your function to handle picker state change
    {options.map((item, index) => {
        return (<Picker.Item label={item} value={index} key={index}/>) 
    })}
</Picker>

答案 1 :(得分:7)

更正了几个语法错误

{options.map((item, index) => {
   return (< Picker.Item label={item} value={index} key={index} />);
})}