我正在使用<Picker>
中令人敬畏的Native Base
组件。
import React, { Component } from 'react'
import {View, Picker, Text, Button, Icon} from 'native-base'
export default class PickSomething extends Component {
constructor(props) {
super(props)
this.state = {
SelectedValue: 'Foo',
}
}
render() {
return (
<View >
<Text>Type: </Text>
<Picker
iosHeader="Select a Type"
selectedValue={this.state.SelectedValue}
onValueChange={(value) => {
this.setState(
(prevState, props) => ({SelectedValue: value})
)}}>
<Picker.Item label="Foo" value="Foo" />
<Picker.Item label="Bar" value="Bar" />
</Picker>
<Button
onPress={ () =>
//trigger the <Picker>onPress
}>
<Icon name="ios-arrow-dropdown-circle-outline"/>
</Button>
</View>
)}
}
我希望更明显的是这是一个下拉列表。如何让Button onPrees
触发Picker
的onPress?
答案 0 :(得分:1)
在Android上,您可以设置道具mode="dropdown"
以显示锚定到选择器视图的下拉列表。这会在右侧呈现一个箭头(检查gif from the NativeBase docs)。 iOS遵循与Android不同的设计准则,因此不幸的是,道具在iOS中不起作用。
NativeBase使用引擎盖下的反应本地Picker,但我没有看到任何记录,以使用refs从外部强制打开选择器。您可以随时深入了解src代码,但这似乎是最后的手段。