在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ antd 的 Select 在使用 onSearch 獲取遠(yuǎn)端數(shù)據(jù)時(shí),只能顯示

antd 的 Select 在使用 onSearch 獲取遠(yuǎn)端數(shù)據(jù)時(shí),只能顯示 value 值

const { searchData, searching, searchValue } = this.state;
<Select
  mode="combobox"
  value={searchValue}
  placeholder="請(qǐng)輸入搜索條件"
  notFoundContent={searching ? <Spin size="small" /> : null}
  filterOption={false}
  onChange={this.onSearchValueChangeHandler}
  onSearch={this.onSearchHandler}
>
    {searchData.map(d => <Option key={d.value}>{d.label}</Option>)}
</Select>

onSearchHandler(value) {
    this.setState({ searchData: [], searching: true });
    setTimeout(() => {
        const results = [
          { value: 'aaa', label: '啊啊啊' },
          { value: 'bbb', label: '不不不' },
          { value: 'ccc', label: '擦擦擦' },
        ];
        const data = results.map(item => ({ value: item.value, label: item.label }));
        this.setState({ searchData: data, searching: false });
    }, 500);
}

onSearchValueChangeHandler(value) {
    this.setState({
      searchValue: value,
      searchData: [],
      searching: false,
    });
}

上面是利用 Select 的 onSearch 接口進(jìn)行遠(yuǎn)程數(shù)據(jù)訪問的片段。現(xiàn)在可能發(fā)現(xiàn)一個(gè) bug,當(dāng) mode='combobox' 時(shí),下拉選擇只會(huì)展示 value 值,但是當(dāng) mode='multiple',就能正常顯示 label 值

clipboard.png

期望顯示的結(jié)果應(yīng)該是 '不不不'

clipboard.png

回答
編輯回答
孤巷

@小翼
渲染出來(lái)的就是正常的 searchData.map(d => <Option key={d.value}>{d.label}</Option>)
但是當(dāng)你下拉選擇的時(shí)候,獲取到的都是 value 值,沒有 label 值

2017年2月17日 12:23
編輯回答
墨小白

其實(shí)講道理的是,那個(gè)option 是你自己設(shè)計(jì)的<Option key={d.value} value={d.value}>{d.label}</Option> 這樣選出了的就是value值,而<Option key={d.value} value={d.label}>{d.label}</Option>,這樣選出了的就是label值,所以顯示設(shè)定value屬性很重要

2017年7月19日 23:58
編輯回答
夢(mèng)一場(chǎng)

當(dāng) mode='combobox' 的時(shí)候,option渲然出來(lái)是什么?沒有將label的值渲然出來(lái)

2018年6月21日 22:16
編輯回答
憶當(dāng)年

我也遇到這個(gè)問題

2017年5月12日 12:15