React Native:onPress触发另一个onPress

时间:2017-04-12 11:55:31

标签: javascript reactjs react-native native-base

我正在使用<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?

1 个答案:

答案 0 :(得分:1)

在Android上,您可以设置道具mode="dropdown"以显示锚定到选择器视图的下拉列表。这会在右侧呈现一个箭头(检查gif from the NativeBase docs)。 iOS遵循与Android不同的设计准则,因此不幸的是,道具在iOS中不起作用。

NativeBase使用引擎盖下的反应本地Picker,但我没有看到任何记录,以使用refs从外部强制打开选择器。您可以随时深入了解src代码,但这似乎是最后的手段。