javascript - react-native 自动完成文本输入

标签 javascript reactjs react-native

<分区>

例如,我有一个城镇列表。我需要创建类似的东西 this

如何创建(安卓和IOS)?我应该在哪里存储它?

最佳答案

好的,所以根据您提供给我们的少量信息,我试着做了一个您可以找到的快速示例(根本没有设计)here

我会让你做造型。

从 JSON 文件读取数据:检查 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);

关于javascript - react-native 自动完成文本输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35410805/

相关文章:

javascript - 如何使用按钮或开关更改整个 css 文件?

reactjs - 删除项目时保持语义 react 多选下拉列表打开

javascript - ScrollView子元素获取偏移量

reactjs - 如何在 React Native 应用程序启动时组合多个任务

php - react 本地axios ios不针对apache/php进行身份验证

javascript - 条件点 slider jQuery

javascript - 当我使用 JS 时,CSS 动画速度变慢

php - 在 PHP 中使用 cURL 下载大文件 - 页面挂起

javascript - 在 reactjs 中处理多个 ajax 调用

react-native - 如何在React Native中输入 'xxx-xxx-xxxx'格式的电话号码?