react native picker在android中不显示

wfveoks0  于 6个月前  发布在  React
关注(0)|答案(6)|浏览(90)

我试图在react native android中添加选择器,但它不会在android中显示。我将我的位置日期Map到选择器项目,但我没有在屏幕中看到选择器。

<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>

字符串

hxzsmxv2

hxzsmxv21#

对我来说,它是父视图组件上的一个“中间项:'中心'”。
我会注解掉你的所有/每一个样式。容器

zte4gxcn

zte4gxcn2#

您需要设置onValueChange方法

<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>

字符串

r1zhe5dt

r1zhe5dt3#

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

smdnsysy

smdnsysy4#

选择器不出现在屏幕上,如果它没有与高度,重量或灵活属性的风格

<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>

字符串

dffbzjpn

dffbzjpn5#

通过为Picker指定一个宽度,对我也有效。

egmofgnx

egmofgnx6#

这只是一个常见的事情,但这可能会帮助一些人。我使用JSON对象键循环,但在react native中,我们应该使用Map。

  • 使用另一个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} />
});


然后我使用Map(为我工作)

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


我的组件

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

相关问题