反应原生选择器没有显示在Android中

时间:2016-03-06 18:32:02

标签: android react-native

我正在尝试添加picker in react native android但它没有在android中显示。我将我的位置日期映射到选择器项目,但我确实在屏幕上看到了选择器。



<Picker selectedValue={this.state.location}>
  <Picker.Item label="Location 1" value="1" /> 
  <Picker.Item label="Location 2" value="2" />
  <Picker.Item label="Location 3" value="3" />
</Picker>
&#13;
&#13;
&#13;

6 个答案:

答案 0 :(得分:15)

对我来说,它是父视图组件上的“alignItems:'center'”。

我会评论你的styles.container

的所有/每种风格

答案 1 :(得分:13)

您需要设置onValueChange方法

我正在尝试添加picker in react native android但它没有在android中显示。我将我的位置日期映射到选择器项目,但我没有在屏幕上看到选择器。

<Picker
    style={{width: 100}} 
    selectedValue={this.state.location}
    onValueChange={(loc) => this.setState({location: loc})}>
  <Picker.Item label="Location 1" value="1" /> 
  <Picker.Item label="Location 2" value="2" />
  <Picker.Item label="Location 3" value="3" />
</Picker>

答案 2 :(得分:8)

你给它宽度和高度吗? 那是我的问题

答案 3 :(得分:2)

如果选择器没有具有height,weight或flex属性的样式,则不会出现在屏幕上

<Picker

  style={{flex:1}} >
  <Picker.Item label="Location 1" value="1" /> 
  <Picker.Item label="Location 2" value="2" />
  <Picker.Item label="Location 3" value="3" />

</Picker>

答案 4 :(得分:1)

通过为Picker专门指定宽度来为我工作。

答案 5 :(得分:0)

这只是普通的事情,但这可能会对某人有所帮助。我正在使用JSON对象键循环,但是在本机反应中,我们应该使用映射。

*正在使用另一个JSON文件来获取我的数组。

import Cities from '../my-project-path/Cities.json';

我尝试循环的方式(无效)

let Locations = Object.keys(Cities).forEach(function (key){
    return <Picker.Item key={key} value={key} label={key} />
});

然后我使用了地图(为我工作)

let Locations = Object.keys(Cities).map(function (key) {
    return <Picker.Item key={key} value={key} label={key} />
});

我的组件

<Picker selectedValue={this.state.District}>
    {Districts}
</Picker>