1

我正在使用<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触发器成为 onPress 的Picker

4

1 回答 1

1

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

NativeBase 在引擎盖下使用 react-native Picker,但我没有看到任何文件记录使用 refs 从外部强制打开选择器。您总是可以深入研究 src 代码,但这似乎是不得已而为之的措施。

于 2017-04-12T12:19:31.860 回答