2017-08-19 17 views
0

HeaderコンポーネントにPicker要素を追加しようとしています(ヘッダーはreact-native-elementsライブラリからインポートされました) )まだ私はそれを見ることはできませんし、私は見ることができる誤りはありません、どんな助けも高く評価されるでしょう。ピッカーがwith-inの反応ネイティブ要素を表示しない

ベクターアイコンが正常に追加されたため、ヘッダーコンポーネントが意図したとおりに動作していることがわかりましたが、ドキュメントはまだ表示されていません。

import React from 'react'; 
import { 
    AppRegistry, 
    StyleSheet, 
    Text, 
    View, 
    Picker, 
    ListView 
} from 'react-native'; 
import CoinCell from './js/Components/CoinCell/CoinCell'; 
import { Header } from 'react-native-elements'; 
import { getCryptocurrencyData } from './js/NetworkHandler' 

export default class CoinCheckerRN extends React.Component { 

    constructor(props) { 
    super(props); 
    const dataSource = new ListView.DataSource({rowHasChanged: (row1, row2) => row1 !== row2}); 
    this.state = { 
     dataSource: dataSource.cloneWithRows([]), 
    }; 

    this._renderRow = this._renderRow.bind(this); 
    this._getCoinData = this._getCoinData.bind(this); 
    this._renderPicker = this._renderPicker.bind(this); 
    } 

    componentWillMount() { 
    this._getCoinData(); 
    } 

    _getCoinData() { 
    getCryptocurrencyData().then(function(result) { 

     const ds = new ListView.DataSource({rowHasChanged: (row1, row2) => row1 !== row2}); 
     this.setState({ 
     dataSource: ds.cloneWithRows(result), 
     jsonData: result 
     }); 
    }.bind(this)) 
    } 


    _renderRow(data) { 
    return (
     <CoinCell coinName={data.name} coinPrice={data.price_gbp} coinPercentageChange={data.percent_change_24h}></CoinCell>  ) 
    } 

    _renderPicker() { 
    return (<Picker 
     selectedValue={'test'} 
     onValueChange={(itemValue, itemIndex) => this.setState({language: itemValue})}> 
     <Picker.Item label="Java" value="java" /> 
    </Picker>) 
    } 

    _renderHeader() { 
    return (
     <Header 
      leftComponent={<Picker 
       selectedValue={this.state.language} 
       onValueChange={(itemValue, itemIndex) => this.setState({language: itemValue})}> 
       <Picker.Item label="Wallet" value="key0" /> 
      </Picker>} 
      rightComponent={{ icon: 'refresh', color: '#FFF' }} 
      innerContainerStyles={{ backgroundColor: '#03A9F4'}} 
      outerContainerStyles={{ backgroundColor: '#03A9F4'}} 
     />) 
    } 

    render() { 
    return (
     <View> 
      {this._renderHeader()} 
      <ListView 
       enableEmptySections 
       ref={'resultListView'} 
       dataSource={this.state.dataSource} 
       renderRow={this._renderRow} 
       style={{paddingTop: 64}} 
       renderSeparator={(sectionId, rowId) => <View key={rowId} style={styles.separator} />} 
      /> 
     </View> 
    ); 
    } 
} 
+0

実例を教えてください。 https://codesandbox.io/のようなものを使って共有することができます。 –

+0

正確な例は何ですか?特定のコンポーネントまたは全画面?、PickerはReactライブラリで利用できないように見えるため、URLはレンダリングされません。 –

答えて

1

ピッカーの高さ/幅を定義する前にかなり似た問題がありました。

+0

ピッカーの高さ/幅をスタイルオブジェクトとしてコンポーネントに追加しましたが、まだ運がありません。 –

関連する問題