2017-04-12 23 views
0

Native Baseの素晴らしい<Picker>コンポーネントを使用しています。React Native:onPress別のonPressをトリガーする

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 onPreesPickerのonPressにトリガーさせるにはどうすればよいですか?

+0

あなたはピッカーでonPressを定義していませんでしたか? onPressコードで質問を更新できますか? –

+0

onPressの動作は、デフォルトでネイティブベースのコンポーネントに組み込まれています – Norfeldt

+0

ここに解決策があります:https://github.com/facebook/react-native/issues/7817#issuecomment-264837382 –

答えて

1

Androidの場合、mode="dropdown"小道具を設定すると、ピッカービューに固定されたドロップダウンを表示できます。それは右側に矢印を描画します(gif from the NativeBase docsを確認してください)。 iOSはAndroidとは異なるデザインガイドラインに従っているため、残念なことにiOSではpropが動作しません。

NativeBaseは反応ネイティブのPickerをフードの下に使用していますが、refsを使用して外部からピッカーを必然的に開くことは記録されていません。あなたはいつもsrcコードにあなたの道を掘り下げることができますが、それは最後の手段のようです。

関連する問題