2016-02-15 38 views
9

たとえば、私は町のリストを持っています。私は何かを作成する必要があります this反応ネイティブオートコンプリートテキスト入力

どのように(アンドロイドとIOS用)を作成するには?そして私はそれをどこに保管すべきですか?

+0

我々は助けるために多くの情報を必要とします。データはローカルに保存されていますか?リクエストでデータを取得していますか?たぶんあなたの問題がどこにあるかわかるようにいくつかのコードを投稿してください。 –

+0

私のデータはjsonファイルに保存されています。 – zlFast

答えて

16

OKは、あなたが私たちに与えてくれた少しの情報に基づいて、私はあなたが私はあなたがスタイリングをやらせるよhere

を見つけることができます簡単な例(全くデザインを)作ってみました。息子ファイルからデータを読み込み

this

をチェックコードは以下の通りです:

'use strict'; 

var React = require('react-native'); 
var { 
    AppRegistry, 
    Component, 
    StyleSheet, 
    Text, 
    TextInput, 
    ListView, 
    View, 
} = React; 

var adresses = [ 
    { 
    street: "1 Martin Place", 
     city: "Sydney", 
    country: "Australia" 
    },{ 
    street: "1 Martin Street", 
     city: "Sydney", 
    country: "Australia" 
    } 
]; 

var ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2}); 

class SampleApp extends Component { 
    constructor(props) { 
    super(props); 

    this.state = { 
     searchedAdresses: [] 
    }; 
    }; 

    searchedAdresses = (searchedText) => { 
    var searchedAdresses = adresses.filter(function(adress) { 
     return adress.street.toLowerCase().indexOf(searchedText.toLowerCase()) > -1; 
    }); 
    this.setState({searchedAdresses: searchedAdresses}); 
    }; 

    renderAdress = (adress) => { 
    return (
     <View> 
     <Text>{adress.street}, {adress.city}, {adress.country}</Text> 
     </View> 
    ); 
    }; 
    render() { 
    return (
     <View style={styles.container}> 
     <TextInput 
      style={styles.textinput} 
      onChangeText={this.searchedAdresses} 
      placeholder="Type your adress here" /> 
     <ListView 
        dataSource={ds.cloneWithRows(this.state.searchedAdresses)} 
      renderRow={this.renderAdress} /> 
     </View> 
    ); 
    }; 
} 

var styles = StyleSheet.create({ 
    container: { 
    flex: 1, 
    justifyContent: 'center', 
    alignItems: 'center', 
    backgroundColor: '#FFFFFF', 
    }, 
    textinput: { 
    marginTop: 30, 
    backgroundColor: '#DDDDDD', 
    height: 40, 
    width: 200 
    } 
}); 

AppRegistry.registerComponent('SampleApp',() => SampleApp); 
+0

このソリューションをお寄せいただきありがとうございます! – mvdb

+3

もう利用できません... – Gp2mv3

+0

リンクが壊れています。 – dhuma1981

関連する問題