选择器常用在表单中,以帮助用户快速输入表单内容,选择器适合有固定选项的数据录入,或者大佬数据需要借助选择器筛选以输入表单内容。
通过 option 属性来设置 Select 组件的选项。
通过 defaultValue 属性设置 Select 组件的默认值。
通过 disabled 属性来禁用 Select 组件。
通过 loading 属性设置 Select 组件的加载中状态。
通过 allowClear 属性设置选中内容是否可清除。
2
  const { Option } = Select;
5
     <Select style={{ width: '180px' }} placeholder="请选择" allowClear>
6
       <Option value="China">按 CPU 平均负载排行</Option>
7
       <Option value="USA">按内存用量排行</Option>
8
       <Option value="Russian">按磁盘用量排行</Option>
9
       <Option value="France">按磁盘用量排行2</Option>
11
     <Select defaultValue="China" style={{ width: '120px', marginLeft:'20px'}} disabled>
12
       <Option value="China">China</Option>
14
     <Select defaultValue="China" style={{ width: '120px',marginLeft:'20px'}} loading>
15
       <Option value="china">China</Option>
17
     <Select defaultValue="China" style={{ width: '120px', marginLeft:'20px'}} allowClear>
18
        <Option value="china">China</Option>
展开后可对选项进行搜索。
通过 showSearch 设置显示搜索按钮。
2
  <Select allowClear style={{ width: '120px' }} placeholder="请选择" showSearch>
3
    <Select.Option value="CentOs-5.8">CentOs 5.8 32bit</Select.Option>
4
    <Select.Option value="CentOs-6.6">CentOs 6.6 64bit</Select.Option>
5
    <Select.Option value="CentOs-7">CentOs 7 64bit</Select.Option>
多选,从已有条目中选择。
通过 mode 属性设置为 multiple 可以将 Select 组件变为多选。
2
  <Select style={{ width: '300px' }} placeholder="请选择" allowClear mode="multiple" showArrow>
3
    <Select.Option value="CPU">按 CPU 平均负载排行</Select.Option>
4
    <Select.Option value="RAM">按内存用量排行</Select.Option>
5
    <Select.Option value="DISK">按磁盘用量排行</Select.Option>
tag select, 随意输入的内容。
通过将 mode 属性设置为 tags 可以使 Select 组件变为标签选择。
3
 for (let i = 10; i < 36; i++) {
4
   children.push(<Option key={i.toString(36) + i}>{i.toString(36) + i}</Option>);
7
 function handleChange(value) {
8
   console.log(`selected ${value}`);
11
    <Select mode="tags" style={{ width: '100%'}} placeholder="Tags mode" onChange={handleChange}>
通过 OptGroup 组件进行选项分组。
2
  const { OptGroup } = Select;
3
  function handleChange(value){
4
    console.log(`selected ${value}`);
7
     <Select defaultValue="JS" style={{ width: 200 }} onChange={handleChange}>
8
      <OptGroup label="JavaScript">
9
        <Option value="React">React</Option>
10
        <Option value="Vue">Vue</Option>
12
      <OptGroup label="node">
13
        <Option value="koa">koa</Option>
只在 tags 和 multiple 模式下可用。
通过 tokenSeparator 设置分词分隔符。
3
  for (let i = 10; i < 36; i++) {
4
    children.push(<Option key={i.toString(36) + i}>{i.toString(36) + i}</Option>);
6
  function handleChange(value){
7
    console.log(`selected ${value}`);
12
      style={{ width: 200 }}
13
      onChange={handleChange}
14
      tokenSeparator={[',']}>
允许自定义选择标签的样式。
2
  const options=[{value:'gold'},{value:'lime'},{value:'green'}]
3
  function tagRender(props){
4
     const {label,value,closable,onClose} = props;
5
     const onPreventMouseDown = event => {
6
        event.preventDefault();
7
        event.stopPropagation();
12
          onMouseDown={onPreventMouseDown}
15
          style={{ marginRight: 3 }}
26
      defaultValue={['gold','cyan']}
27
      style={{ width: '100%'}}
隐藏下拉列表中已选择的选项。
2
  const OPTIONS = ['Apples', 'Nails', 'Bananas', 'Helicopters'];
3
  const [selectedItems, setSelectedItems] = React.useState([]);
4
  function handleChange(selectedItems){
5
    setSelectedItems(selectedItems)
7
  const filteredOptions = OPTIONS.filter(o => !selectedItems.includes(o));
11
      placeholder="Insert are removed"
13
      onChange={handleChange}
14
      style={{width:'100%'}}
16
    {filteredOptions.map(item => (
17
              <Select.Option key={item} value={item}>
通过 optionLabelProp 属性指定回填到选择框的 Option 属性。
2
  function handleChange(value){
3
    console.log(`selected ${value}`);
8
      style={{ width:'100%'}}
9
      placeholder="select one country"
10
      defaultValue={['china']}
11
      onChange={handleChange}
12
      optionLabelProp="label"
14
       <Option value="china" label="China">
15
         <div className="demo-option-label-item">
16
            <span role="img" aria-label="China">
22
       <Option value="usa" label="USA">
23
          <div className="demo-option-label-item">
24
            <span role="img" aria-label="USA">
30
       <Option value="japan" label="Japan">
31
          <div className="demo-option-label-item">
32
             <span role="img" aria-label="Japan">
38
       <Option value="korea" label="Korea">
39
          <div className="demo-option-label-item">
40
             <span role="img" aria-label="Korea">