2017-08-04 30 views
1

我有一個關於react-select組件的問題。奇怪的行爲與Select.Async和loadOptions

我有以下代碼(coffeescript)和非常奇怪的行爲(在gif下面)。問題是 - 我做錯了嗎?爲什麼選項在getOptions函數完成後不立即顯示?爲什麼只有在外面點擊後才顯示?這是超級混亂..我需要你的幫助傢伙!

getOptions = (value) => 
    return Promise.resolve({options: []}) unless value 
    api.geocoder(value).then (data) => 
    countries = [ 
     {value: 'A', label: 'A'} 
     {value: 'B', label: 'B'} 
    ] 
    console.info(countries) 
    {options: countries} 

<Select.Async 
    className="ads-filter__select" 
    value={@props.country_code} 
    onChange={(option) => @props.onChange('country_code', option)} 
    clearable={false} 
    placeholder={I18n.t('ads.country')} 
    loadOptions={getOptions} 
/> 

回答

1

這個屬性添加到Select.Async:filterOption = {()=>(真)} 更具體地寫:

<Select.Async 
    className="ads-filter__select" 
    value={@props.country_code} 
    filterOption={() => (true)} 
    onChange={(option) => @props.onChange('country_code', option)} 
    clearable={false} 
    placeholder={I18n.t('ads.country')} 
    loadOptions={getOptions} 
/> 

希望這將解決您的問題