React-Select,Async Option,没有显示任何值

时间:2016-09-17 14:59:21

标签: javascript reactjs react-select

import React from 'react';
import Select from 'react-select';
require("../node_modules/react-select/dist/react-select.css");   

const getOptions = (input) => {
      return fetch(`/games/uni/autocomplete/${input}`)
        .then((response) => {
          return response.json();
        }).then((json) => {

      console.log(json)
      return { options: json };
    });
}


var SearchBar = React.createClass({
    render: function() {
       return (

            <Select.Async
              name="form-field-name"
              loadOptions={getOptions} />   
    )
  }
});

export default SearchBar;

console.log(json)就像:["EA SPORTS FIFA 16", "FIFA 16 Ultimate Team"]

但是suggeestion值是空的

empty select

这里是组件Async的状态和道具

props and state of component

此处包含示例的官方文档:https://github.com/JedWatson/react-select#async-options-with-promises

我缺少什么?

1 个答案:

答案 0 :(得分:3)

在你的console.log(json)中,你打印出一个包含字符串的数组,它不是一个对象数组。

与文档说的一样,您需要格式化您的数据,如下所示。在你回来之前。

示例

const json = [
 { value: 'EASPORTFIFA16', label: 'EA SPORTS FIFA 16' },
 { value: 'FIFA16UltimateTeam', label: 'FIFA 16 Ultimate Team' }
]