如何以编程方式设置React Dropdown的值

时间:2019-05-16 09:35:21

标签: javascript reactjs

我有这个代码

<Dropdown
    id="city"
    placeholder="Select a city"
    options={this.state.cities}
    onChange={this.onChangeHandler}
    />;

这将显示一个下拉列表,其中显示占位符“选择城市”。

我要尝试的是,如果this.state.cities只有一个元素,请将其设置为预选。否则,继续显示占位符文本和下面的所有选项。

我正在使用的图书馆是https://www.npmjs.com/package/react-dropdown

谢谢

2 个答案:

答案 0 :(得分:0)

在下拉列表组件中,您可以执行以下操作

{(this.props.options.length > 1) ? <option>{this.props.placeholder}</option>: null}

浏览器将自动选择列表中的第一个选项。

答案 1 :(得分:0)

根据documentationDropdown组件采用value道具。

import Dropdown from 'react-dropdown'
import 'react-dropdown/style.css'

class App extends React.Component {
   constructor() {
     super();
      this.state={
        cities: ["New York", "San Francisco", "Seattle", "Washington DC"],
        selectedCity: ""
      }
   }

   handleSelectCity = (option)=> {
      const selectedCity = option.value
      this.setState({selectedCity});
   }

   render() {
      const {selectedCity, cities} = this.state;

      return (
        <Dropdown 
          options={cities} 
          onChange={this.handleSelectCity} 
          value={selectedCity} 
          placeholder="Select an option" 
        />
      )
   }
}

export default App;