首页 > 解决方案 > 我正在使用'react-native-dropdown-picker';我想在 react native 中显示从 sqlite db 到下拉列表的值,我该怎么做?

问题描述

constructor() {
   super();
    this.state = {
      highcourtname: [],
    }
  }

  getFromDatabase = () => {

    var that = this;
    db.transaction((tx) => {
      tx.executeSql('SELECT Distinct(Court_Name) FROM court_images', [], (tx, results) => {
        var len = results.rows.length;
        if (len > 0) {
          for (let i = 0; i < len; i++) {
            let rowall = results.rows.item(i);
            console.log(rowall);
            //this.setState({highcourtname: rowall.name})
          }

        }
      });
    });
  }

<DropDownPicker
    items={[
        {label: 'UK', value: 'uk'},
        {label: 'France', value: 'france'},
    ]} //how to get rowall value here??

    defaultValue={this.state.highcourtname}
    onChangeItem={item => this.setState({
        highcourtname: item.value
    })}
/>

我使用了来自 'react-native-dropdown-picker' 的 DropDown;我想在 react native 中显示我的 sqlite db 中的值到 dropview。我从 sqlite db 获取值,有 console.log 并检查了它,但不知道如何在上面的下拉项目中显示。

如何在项目下拉列表中显示“rowall”值???

我怎么做?如果有人可以请帮忙。

我是反应原生开发的新手..

标签: react-nativedropdownpickerreact-native-sqlite-storage

解决方案


只需正确设置你的状态,你就完成了

if (len > 0) {
   let rowall = []
   for (let i = 0; i < len; i++) {
        rowall.push({label: results.rows.item[i].name, value: results.rows.item[i].value});
   }
   this.setState({highcourtname: rowall})
}

<DropDownPicker
    items={this.state.highcourtname}

    defaultValue={this.state.highcourtname}
    onChangeItem={item => this.setState({
        highcourtname: item.value
    })}
/>

推荐阅读