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值是空的
这里是组件Async的状态和道具
此处包含示例的官方文档:https://github.com/JedWatson/react-select#async-options-with-promises
我缺少什么?
答案 0 :(得分:3)
在你的console.log(json)中,你打印出一个包含字符串的数组,它不是一个对象数组。
与文档说的一样,您需要格式化您的数据,如下所示。在你回来之前。
示例强>
const json = [
{ value: 'EASPORTFIFA16', label: 'EA SPORTS FIFA 16' },
{ value: 'FIFA16UltimateTeam', label: 'FIFA 16 Ultimate Team' }
]