{
  "name": "Select",
  "props": {
    "size": {
      "type": {
        "name": "enum",
        "value": [
          {
            "value": "'small'",
            "computed": false
          },
          {
            "value": "'medium'",
            "computed": false
          },
          {
            "value": "'large'",
            "computed": false
          }
        ]
      },
      "required": false,
      "description": "选择器尺寸",
      "defaultValue": {
        "value": "'medium'",
        "computed": false
      },
      "docblock": "选择器尺寸"
    },
    "value": {
      "type": {
        "name": "any"
      },
      "required": false,
      "description": "当前值，用于受控模式",
      "docblock": "当前值，用于受控模式"
    },
    "defaultValue": {
      "type": {
        "name": "any"
      },
      "required": false,
      "description": "初始的默认值",
      "docblock": "初始的默认值"
    },
    "placeholder": {
      "type": {
        "name": "string"
      },
      "required": false,
      "description": "没有值的时候的占位符",
      "docblock": "没有值的时候的占位符"
    },
    "autoWidth": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "下拉菜单是否与选择器对齐",
      "defaultValue": {
        "value": "true",
        "computed": false
      },
      "docblock": "下拉菜单是否与选择器对齐"
    },
    "label": {
      "type": {
        "name": "node"
      },
      "required": false,
      "description": "自定义内联 label",
      "docblock": "自定义内联 label"
    },
    "hasClear": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否有清除按钮（单选模式有效）",
      "docblock": "是否有清除按钮（单选模式有效）"
    },
    "state": {
      "type": {
        "name": "enum",
        "value": [
          {
            "value": "'error'",
            "computed": false
          },
          {
            "value": "'loading'",
            "computed": false
          },
          {
            "value": "'success'",
            "computed": false
          },
          {
            "value": "'warning'",
            "computed": false
          }
        ]
      },
      "required": false,
      "description": "校验状态",
      "docblock": "校验状态"
    },
    "readOnly": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否只读，只读模式下可以展开弹层但不能选",
      "docblock": "是否只读，只读模式下可以展开弹层但不能选"
    },
    "disabled": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否禁用选择器",
      "docblock": "是否禁用选择器"
    },
    "visible": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "当前弹层是否显示",
      "docblock": "当前弹层是否显示"
    },
    "defaultVisible": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "弹层初始化是否显示",
      "docblock": "弹层初始化是否显示"
    },
    "onVisibleChange": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "弹层显示或隐藏时触发的回调",
      "defaultValue": {
        "value": "func.noop",
        "computed": true
      },
      "docblock": "弹层显示或隐藏时触发的回调\n@param {Boolean} visible 弹层是否显示\n@param {String} type 触发弹层显示或隐藏的来源 fromContent 表示由Dropdown内容触发； fromTrigger 表示由trigger的点击触发； docClick 表示由document的点击触发",
      "params": [
        {
          "name": "visible",
          "description": "弹层是否显示",
          "type": {
            "name": "Boolean"
          }
        },
        {
          "name": "type",
          "description": "触发弹层显示或隐藏的来源 fromContent 表示由Dropdown内容触发； fromTrigger 表示由trigger的点击触发； docClick 表示由document的点击触发",
          "type": {
            "name": "String"
          }
        }
      ],
      "returns": null
    },
    "popupContainer": {
      "type": {
        "name": "any"
      },
      "required": false,
      "description": "弹层挂载的容器节点",
      "docblock": "弹层挂载的容器节点"
    },
    "popupClassName": {
      "type": {
        "name": "any"
      },
      "required": false,
      "description": "弹层的 className",
      "docblock": "弹层的 className"
    },
    "popupStyle": {
      "type": {
        "name": "object"
      },
      "required": false,
      "description": "弹层的内联样式",
      "docblock": "弹层的内联样式",
      "properties": []
    },
    "popupProps": {
      "type": {
        "name": "object"
      },
      "required": false,
      "description": "添加到弹层上的属性",
      "defaultValue": {
        "value": "{}",
        "computed": false
      },
      "docblock": "添加到弹层上的属性",
      "properties": []
    },
    "followTrigger": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否跟随滚动",
      "docblock": "是否跟随滚动"
    },
    "popupContent": {
      "type": {
        "name": "node"
      },
      "required": false,
      "description": "自定义弹层的内容",
      "docblock": "自定义弹层的内容"
    },
    "menuProps": {
      "type": {
        "name": "object"
      },
      "required": false,
      "description": "添加到菜单上的属性",
      "docblock": "添加到菜单上的属性\n@version 1.18",
      "properties": [],
      "version": {
        "value": "1.18",
        "computed": false
      }
    },
    "filterLocal": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否使用本地过滤，在数据源为远程的时候需要关闭此项",
      "defaultValue": {
        "value": "true",
        "computed": false
      },
      "docblock": "是否使用本地过滤，在数据源为远程的时候需要关闭此项"
    },
    "filter": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "本地过滤方法，返回一个 Boolean 值确定是否保留",
      "defaultValue": {
        "value": "filter",
        "computed": true
      },
      "docblock": "本地过滤方法，返回一个 Boolean 值确定是否保留\n@param {String} key 搜索关键字\n@param {Object} item 渲染节点的item\n@return {Boolean} 是否匹配",
      "params": [
        {
          "name": "key",
          "description": "搜索关键字",
          "type": {
            "name": "String"
          }
        },
        {
          "name": "item",
          "description": "渲染节点的item",
          "type": {
            "name": "Object"
          }
        }
      ],
      "returns": {
        "description": "是否匹配",
        "type": {
          "name": "Boolean"
        }
      }
    },
    "defaultHighlightKey": {
      "type": {
        "name": "string"
      },
      "required": false,
      "description": "默认高亮的 key，不要和 autoHighlightFirstItem 同时使用",
      "defaultValue": {
        "value": "null",
        "computed": false
      },
      "docblock": "默认高亮的 key，不要和 autoHighlightFirstItem 同时使用"
    },
    "highlightKey": {
      "type": {
        "name": "string"
      },
      "required": false,
      "description": "高亮 key，不要和 autoHighlightFirstItem 同时使用，用于受控模式",
      "docblock": "高亮 key，不要和 autoHighlightFirstItem 同时使用，用于受控模式"
    },
    "onToggleHighlightItem": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "键盘上下键切换菜单高亮选项的回调",
      "defaultValue": {
        "value": "func.noop",
        "computed": true
      },
      "docblock": "键盘上下键切换菜单高亮选项的回调",
      "params": [],
      "returns": null
    },
    "autoHighlightFirstItem": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "自动高亮第一个元素",
      "defaultValue": {
        "value": "true",
        "computed": false
      },
      "docblock": "自动高亮第一个元素"
    },
    "useVirtual": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否开启虚拟滚动模式",
      "docblock": "是否开启虚拟滚动模式"
    },
    "dataSource": {
      "type": {
        "name": "arrayOf",
        "value": {
          "name": "union",
          "value": [
            {
              "name": "shape",
              "value": {
                "value": {
                  "name": "any",
                  "required": false
                },
                "label": {
                  "name": "any",
                  "required": false
                },
                "disabled": {
                  "name": "bool",
                  "required": false
                },
                "children": {
                  "name": "array",
                  "required": false
                }
              }
            },
            {
              "name": "bool"
            },
            {
              "name": "number"
            },
            {
              "name": "string"
            }
          ]
        }
      },
      "required": false,
      "description": "传入的数据源，可以动态渲染子项，详见 [dataSource的使用](#dataSource的使用)",
      "docblock": "传入的数据源，可以动态渲染子项，详见 [dataSource的使用](#dataSource的使用)"
    },
    "itemRender": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "渲染 MenuItem 内容的方法",
      "docblock": "渲染 MenuItem 内容的方法\n@param {Object} item 渲染节点的item\n@param {String} searchValue 搜索关键字（如果开启搜索）\n@return {ReactNode} item node",
      "params": [
        {
          "name": "item",
          "description": "渲染节点的item",
          "type": {
            "name": "Object"
          }
        },
        {
          "name": "searchValue",
          "description": "搜索关键字（如果开启搜索）",
          "type": {
            "name": "String"
          }
        }
      ],
      "returns": {
        "description": "item node",
        "type": {
          "name": "ReactNode"
        }
      }
    },
    "mode": {
      "type": {
        "name": "enum",
        "value": [
          {
            "value": "'single'",
            "computed": false
          },
          {
            "value": "'multiple'",
            "computed": false
          },
          {
            "value": "'tag'",
            "computed": false
          }
        ]
      },
      "required": false,
      "description": "选择器模式",
      "defaultValue": {
        "value": "'single'",
        "computed": false
      },
      "docblock": "选择器模式"
    },
    "notFoundContent": {
      "type": {
        "name": "node"
      },
      "required": false,
      "description": "弹层内容为空的文案",
      "docblock": "弹层内容为空的文案"
    },
    "isPreview": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否为预览态",
      "docblock": "是否为预览态"
    },
    "renderPreview": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "预览态模式下渲染的内容",
      "docblock": "预览态模式下渲染的内容\n@param {number} value 评分值",
      "params": [
        {
          "name": "value",
          "description": "评分值",
          "type": {
            "name": "number"
          }
        }
      ],
      "returns": null
    },
    "showDataSourceChildren": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否展示 dataSource 中 children",
      "docblock": "是否展示 dataSource 中 children"
    },
    "onChange": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "Select发生改变时触发的回调",
      "docblock": "Select发生改变时触发的回调\n@param {*} value 选中的值\n@param {String} actionType 触发的方式, 'itemClick', 'enter', 'tag'\n@param {*} item 选中的值的对象数据 (useDetailValue=false有效)",
      "params": [
        {
          "name": "value",
          "description": "选中的值",
          "type": {
            "name": "mixed"
          }
        },
        {
          "name": "actionType",
          "description": "触发的方式, 'itemClick', 'enter', 'tag'",
          "type": {
            "name": "String"
          }
        },
        {
          "name": "item",
          "description": "选中的值的对象数据 (useDetailValue=false有效)",
          "type": {
            "name": "mixed"
          }
        }
      ],
      "returns": null
    },
    "hasBorder": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否有边框",
      "docblock": "是否有边框"
    },
    "hasArrow": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否有下拉箭头",
      "defaultValue": {
        "value": "true",
        "computed": false
      },
      "docblock": "是否有下拉箭头"
    },
    "showSearch": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "展开后是否能搜索（tag 模式下固定为true）",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "展开后是否能搜索（tag 模式下固定为true）"
    },
    "onSearch": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "当搜索框值变化时回调",
      "defaultValue": {
        "value": "func.noop",
        "computed": true
      },
      "docblock": "当搜索框值变化时回调\n@param {String} value 数据",
      "params": [
        {
          "name": "value",
          "description": "数据",
          "type": {
            "name": "String"
          }
        }
      ],
      "returns": null
    },
    "onSearchClear": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "当搜索框值被(选择、弹窗关闭)导致清空时候的回调",
      "defaultValue": {
        "value": "func.noop",
        "computed": true
      },
      "docblock": "当搜索框值被(选择、弹窗关闭)导致清空时候的回调\n@param {String} actionType 触发的方式, 'select'(选择清空), 'popupClose'(弹窗关闭清空)",
      "params": [
        {
          "name": "actionType",
          "description": "触发的方式, 'select'(选择清空), 'popupClose'(弹窗关闭清空)",
          "type": {
            "name": "String"
          }
        }
      ],
      "returns": null
    },
    "hasSelectAll": {
      "type": {
        "name": "union",
        "value": [
          {
            "name": "bool"
          },
          {
            "name": "string"
          }
        ]
      },
      "required": false,
      "description": "多选模式下是否有全选功能",
      "docblock": "多选模式下是否有全选功能"
    },
    "fillProps": {
      "type": {
        "name": "string"
      },
      "required": false,
      "description": "填充到选择框里的值的 key\b\b",
      "docblock": "填充到选择框里的值的 key\b\b"
    },
    "useDetailValue": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "value 使用对象类型 `{value, label}`, 同时 onChange 第一个参数返回也修改为 dataSource 中的对象",
      "docblock": "value 使用对象类型 `{value, label}`, 同时 onChange 第一个参数返回也修改为 dataSource 中的对象"
    },
    "cacheValue": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "dataSource 变化的时是否保留已选的内容",
      "defaultValue": {
        "value": "true",
        "computed": false
      },
      "docblock": "dataSource 变化的时是否保留已选的内容"
    },
    "valueRender": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "渲染 Select 展现内容的方法",
      "defaultValue": {
        "value": "item => `item.label || item.value`",
        "computed": false
      },
      "docblock": "渲染 Select 展现内容的方法\n@param {Object} item 渲染节点的item\n@return {ReactNode} 展现内容\n@default item => `item.label || item.value`",
      "params": [
        {
          "name": "item",
          "description": "渲染节点的item",
          "type": {
            "name": "Object"
          }
        }
      ],
      "returns": {
        "description": "展现内容",
        "type": {
          "name": "ReactNode"
        }
      }
    },
    "searchValue": {
      "type": {
        "name": "string"
      },
      "required": false,
      "description": "受控搜索值，一般不需要设置",
      "docblock": "受控搜索值，一般不需要设置\n@type {[type]}"
    },
    "tagInline": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否一行显示，仅在 mode 为 multiple 的时候生效",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "是否一行显示，仅在 mode 为 multiple 的时候生效\n@version 1.15",
      "version": {
        "value": "1.15",
        "computed": false
      }
    },
    "tagClosable": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "tag 是否可关闭",
      "defaultValue": {
        "value": "true",
        "computed": false
      },
      "docblock": "tag 是否可关闭\n@version 1.20",
      "version": {
        "value": "1.20",
        "computed": false
      }
    },
    "adjustTagSize": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "tag 尺寸是否和 select 保持一致(mode=multiple/tag 模式生效），默认false",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "tag 尺寸是否和 select 保持一致(mode=multiple/tag 模式生效），默认false\n@version 1.24",
      "version": {
        "value": "1.24",
        "computed": false
      }
    },
    "maxTagCount": {
      "type": {
        "name": "number"
      },
      "required": false,
      "description": "最多显示多少个 tag",
      "docblock": "最多显示多少个 tag\n@version 1.15",
      "version": {
        "value": "1.15",
        "computed": false
      }
    },
    "maxTagPlaceholder": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "隐藏多余 tag 时显示的内容，在 maxTagCount 生效时起作用",
      "docblock": "隐藏多余 tag 时显示的内容，在 maxTagCount 生效时起作用\n@param {object} selectedValues 当前已选中的元素\n@param {object} totalValues 总待选元素\n@version 1.15",
      "params": [
        {
          "name": "selectedValues",
          "description": "当前已选中的元素",
          "type": {
            "name": "object"
          }
        },
        {
          "name": "totalValues",
          "description": "总待选元素",
          "type": {
            "name": "object"
          }
        }
      ],
      "returns": null,
      "version": {
        "value": "1.15",
        "computed": false
      }
    },
    "hiddenSelected": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "选择后是否立即隐藏菜单 (mode=multiple/tag 模式生效)",
      "docblock": "选择后是否立即隐藏菜单 (mode=multiple/tag 模式生效)"
    },
    "onRemove": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "tag 删除回调",
      "defaultValue": {
        "value": "func.noop",
        "computed": true
      },
      "docblock": "tag 删除回调\n@param {object} item 渲染节点的item",
      "params": [
        {
          "name": "item",
          "description": "渲染节点的item",
          "type": {
            "name": "object"
          }
        }
      ],
      "returns": null
    },
    "onFocus": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "焦点事件",
      "defaultValue": {
        "value": "func.noop",
        "computed": true
      },
      "docblock": "焦点事件",
      "params": [],
      "returns": null
    },
    "onBlur": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "失去焦点事件",
      "defaultValue": {
        "value": "func.noop",
        "computed": true
      },
      "docblock": "失去焦点事件",
      "params": [],
      "returns": null
    },
    "popupAutoFocus": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "展开下拉菜单时是否自动焦点到弹层",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "展开下拉菜单时是否自动焦点到弹层"
    }
  },
  "methods": [
    {
      "name": "handleMenuSelect",
      "docblock": "Menu.Item onSelect\n@private\n@param  {Array<string>} keys\n@",
      "modifiers": [],
      "params": [
        {
          "name": "keys",
          "description": null,
          "type": {
            "name": "Array"
          }
        },
        {
          "name": "item"
        }
      ],
      "returns": null,
      "description": "Menu.Item onSelect"
    },
    {
      "name": "handleSingleSelect",
      "docblock": "单选模式",
      "modifiers": [],
      "params": [
        {
          "name": "key"
        },
        {
          "name": "triggerType"
        }
      ],
      "returns": null,
      "description": "单选模式"
    },
    {
      "name": "handleMultipleSelect",
      "docblock": "多选模式 multiple/tag",
      "modifiers": [],
      "params": [
        {
          "name": "keys"
        },
        {
          "name": "triggerType"
        },
        {
          "name": "key"
        },
        {
          "name": "keepSearchValue"
        }
      ],
      "returns": null,
      "description": "多选模式 multiple/tag"
    },
    {
      "name": "handleSearch",
      "docblock": "Handle search input change event\n@param {String} value search text\n@param {Event} e change Event",
      "modifiers": [],
      "params": [
        {
          "name": "value",
          "description": "search text",
          "type": {
            "name": "String"
          }
        },
        {
          "name": "e",
          "description": "change Event",
          "type": {
            "name": "Event"
          }
        }
      ],
      "returns": null,
      "description": "Handle search input change event"
    },
    {
      "name": "handleTagClose",
      "docblock": "Handle Tag close event\n@param  {Object} item\n@return {Boolean} false  return false to prevent auto close\n----\nIt MUST be multiple mode, needn't additional judgement",
      "modifiers": [],
      "params": [
        {
          "name": "item",
          "description": null,
          "type": {
            "name": "Object"
          }
        }
      ],
      "returns": {
        "description": "false  return false to prevent auto close\n----\nIt MUST be multiple mode, needn't additional judgement",
        "type": {
          "name": "Boolean"
        }
      },
      "description": "Handle Tag close event"
    },
    {
      "name": "handleDeleteTag",
      "docblock": "Handle BACKSPACE key event\n@param {Event} e keyDown event\n---\nIt MUST be multiple mode",
      "modifiers": [],
      "params": [
        {
          "name": "e",
          "description": "keyDown event\n---\nIt MUST be multiple mode",
          "type": {
            "name": "Event"
          }
        }
      ],
      "returns": null,
      "description": "Handle BACKSPACE key event"
    },
    {
      "name": "handleSelectAll",
      "docblock": "Handle SelectAll span click event\n@param {Event} e click event",
      "modifiers": [],
      "params": [
        {
          "name": "e",
          "description": "click event",
          "type": {
            "name": "Event"
          }
        }
      ],
      "returns": null,
      "description": "Handle SelectAll span click event"
    },
    {
      "name": "renderValues",
      "docblock": "如果用户是自定义的弹层，则直接以 value 为准，不再校验 dataSource\nTODO: 2.0 中 value 接受 string/object{value,label} 两种类型的数据，自动做识别，可以避免用户去转换，也和 date-picker 对齐\n此外 onChange 第一个参数根据 api 来控制类型是 [string] 还是 [object{value,label}]\n@param {object} props",
      "modifiers": [],
      "params": [],
      "returns": null,
      "description": "如果用户是自定义的弹层，则直接以 value 为准，不再校验 dataSource\nTODO: 2.0 中 value 接受 string/object{value,label} 两种类型的数据，自动做识别，可以避免用户去转换，也和 date-picker 对齐\n此外 onChange 第一个参数根据 api 来控制类型是 [string] 还是 [object{value,label}]"
    },
    {
      "name": "handleWrapClick",
      "docblock": "1. fix flash while click <label/>\n2. fix onBlur while has clear\n@returns",
      "modifiers": [],
      "params": [
        {
          "name": "e"
        }
      ],
      "returns": null,
      "description": "1. fix flash while click <label/>\n2. fix onBlur while has clear"
    },
    {
      "name": "renderExtraNode",
      "docblock": "render arrow\n@param {object} props\n@param {function} [clickHandler]",
      "modifiers": [],
      "params": [],
      "returns": null,
      "description": "render arrow"
    },
    {
      "name": "renderSelect",
      "docblock": "选择器\n@override\n@param {object} props",
      "modifiers": [],
      "params": [],
      "returns": null,
      "description": "选择器"
    },
    {
      "name": "renderMenuHeader",
      "docblock": "渲染弹层的 header 内容\n@override\n@param {object} props",
      "modifiers": [],
      "params": [],
      "returns": null,
      "description": "渲染弹层的 header 内容"
    }
  ],
  "subComponents": [
    {
      "name": "AutoComplete",
      "props": {
        "size": {
          "type": {
            "name": "enum",
            "value": [
              {
                "value": "'small'",
                "computed": false
              },
              {
                "value": "'medium'",
                "computed": false
              },
              {
                "value": "'large'",
                "computed": false
              }
            ]
          },
          "required": false,
          "description": "选择器尺寸",
          "defaultValue": {
            "value": "'medium'",
            "computed": false
          },
          "docblock": "选择器尺寸"
        },
        "value": {
          "type": {
            "name": "union",
            "value": [
              {
                "name": "string"
              },
              {
                "name": "number"
              }
            ]
          },
          "required": false,
          "description": "当前值，用于受控模式",
          "docblock": "当前值，用于受控模式"
        },
        "defaultValue": {
          "type": {
            "name": "union",
            "value": [
              {
                "name": "string"
              },
              {
                "name": "number"
              }
            ]
          },
          "required": false,
          "description": "初始化的默认值",
          "docblock": "初始化的默认值"
        },
        "placeholder": {
          "type": {
            "name": "string"
          },
          "required": false,
          "description": "没有值的时候的占位符",
          "docblock": "没有值的时候的占位符"
        },
        "autoWidth": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "下拉菜单是否与选择器对齐",
          "defaultValue": {
            "value": "true",
            "computed": false
          },
          "docblock": "下拉菜单是否与选择器对齐"
        },
        "label": {
          "type": {
            "name": "node"
          },
          "required": false,
          "description": "自定义内联 label",
          "docblock": "自定义内联 label"
        },
        "hasClear": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "是否有清除按钮（单选模式有效）",
          "docblock": "是否有清除按钮（单选模式有效）"
        },
        "state": {
          "type": {
            "name": "enum",
            "value": [
              {
                "value": "'error'",
                "computed": false
              },
              {
                "value": "'loading'",
                "computed": false
              },
              {
                "value": "'success'",
                "computed": false
              },
              {
                "value": "'warning'",
                "computed": false
              }
            ]
          },
          "required": false,
          "description": "校验状态",
          "docblock": "校验状态"
        },
        "readOnly": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "是否只读，只读模式下可以展开弹层但不能选",
          "docblock": "是否只读，只读模式下可以展开弹层但不能选"
        },
        "disabled": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "是否禁用选择器",
          "docblock": "是否禁用选择器"
        },
        "visible": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "当前弹层是否显示",
          "docblock": "当前弹层是否显示"
        },
        "defaultVisible": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "弹层初始化是否显示",
          "docblock": "弹层初始化是否显示"
        },
        "onVisibleChange": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "弹层显示或隐藏时触发的回调",
          "defaultValue": {
            "value": "func.noop",
            "computed": true
          },
          "docblock": "弹层显示或隐藏时触发的回调\n@param {Boolean} visible 弹层是否显示\n@param {String} type 触发弹层显示或隐藏的来源 fromContent 表示由Dropdown内容触发； fromTrigger 表示由trigger的点击触发； docClick 表示由document的点击触发",
          "params": [
            {
              "name": "visible",
              "description": "弹层是否显示",
              "type": {
                "name": "Boolean"
              }
            },
            {
              "name": "type",
              "description": "触发弹层显示或隐藏的来源 fromContent 表示由Dropdown内容触发； fromTrigger 表示由trigger的点击触发； docClick 表示由document的点击触发",
              "type": {
                "name": "String"
              }
            }
          ],
          "returns": null
        },
        "popupContainer": {
          "type": {
            "name": "any"
          },
          "required": false,
          "description": "弹层挂载的容器节点",
          "docblock": "弹层挂载的容器节点"
        },
        "popupClassName": {
          "type": {
            "name": "any"
          },
          "required": false,
          "description": "弹层的 className",
          "docblock": "弹层的 className"
        },
        "popupStyle": {
          "type": {
            "name": "object"
          },
          "required": false,
          "description": "弹层的内联样式",
          "docblock": "弹层的内联样式",
          "properties": []
        },
        "popupProps": {
          "type": {
            "name": "object"
          },
          "required": false,
          "description": "添加到弹层上的属性",
          "defaultValue": {
            "value": "{}",
            "computed": false
          },
          "docblock": "添加到弹层上的属性",
          "properties": []
        },
        "followTrigger": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "是否跟随滚动",
          "docblock": "是否跟随滚动"
        },
        "popupContent": {
          "type": {
            "name": "node"
          },
          "required": false,
          "description": "自定义弹层的内容",
          "docblock": "自定义弹层的内容"
        },
        "menuProps": {
          "type": {
            "name": "object"
          },
          "required": false,
          "description": "添加到菜单上的属性",
          "docblock": "添加到菜单上的属性\n@version 1.18",
          "properties": [],
          "version": {
            "value": "1.18",
            "computed": false
          }
        },
        "filterLocal": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "是否使用本地过滤，在数据源为远程的时候需要关闭此项",
          "defaultValue": {
            "value": "true",
            "computed": false
          },
          "docblock": "是否使用本地过滤，在数据源为远程的时候需要关闭此项"
        },
        "filter": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "本地过滤方法，返回一个 Boolean 值确定是否保留",
          "defaultValue": {
            "value": "filter",
            "computed": true
          },
          "docblock": "本地过滤方法，返回一个 Boolean 值确定是否保留\n@param {String} key 搜索关键字\n@param {Object} item 渲染节点的item\n@return {Boolean} 是否匹配",
          "params": [
            {
              "name": "key",
              "description": "搜索关键字",
              "type": {
                "name": "String"
              }
            },
            {
              "name": "item",
              "description": "渲染节点的item",
              "type": {
                "name": "Object"
              }
            }
          ],
          "returns": {
            "description": "是否匹配",
            "type": {
              "name": "Boolean"
            }
          }
        },
        "defaultHighlightKey": {
          "type": {
            "name": "string"
          },
          "required": false,
          "description": "默认高亮的 key，不要和 autoHighlightFirstItem 同时使用",
          "defaultValue": {
            "value": "null",
            "computed": false
          },
          "docblock": "默认高亮的 key，不要和 autoHighlightFirstItem 同时使用"
        },
        "highlightKey": {
          "type": {
            "name": "string"
          },
          "required": false,
          "description": "高亮 key，不要和 autoHighlightFirstItem 同时使用，用于受控模式",
          "docblock": "高亮 key，不要和 autoHighlightFirstItem 同时使用，用于受控模式"
        },
        "onToggleHighlightItem": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "键盘上下键切换菜单高亮选项的回调",
          "defaultValue": {
            "value": "func.noop",
            "computed": true
          },
          "docblock": "键盘上下键切换菜单高亮选项的回调",
          "params": [],
          "returns": null
        },
        "autoHighlightFirstItem": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "自动高亮第一个元素",
          "defaultValue": {
            "value": "true",
            "computed": false
          },
          "docblock": "自动高亮第一个元素"
        },
        "useVirtual": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "是否开启虚拟滚动模式",
          "docblock": "是否开启虚拟滚动模式"
        },
        "dataSource": {
          "type": {
            "name": "arrayOf",
            "value": {
              "name": "union",
              "value": [
                {
                  "name": "shape",
                  "value": {
                    "value": {
                      "name": "string",
                      "required": false
                    },
                    "label": {
                      "name": "any",
                      "required": false
                    },
                    "disabled": {
                      "name": "bool",
                      "required": false
                    },
                    "children": {
                      "name": "array",
                      "required": false
                    }
                  }
                },
                {
                  "name": "string"
                }
              ]
            }
          },
          "required": false,
          "description": "传入的数据源，可以动态渲染子项",
          "docblock": "传入的数据源，可以动态渲染子项"
        },
        "itemRender": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "渲染 MenuItem 内容的方法",
          "docblock": "渲染 MenuItem 内容的方法\n@param {Object} item 渲染节点的 item\n@return {ReactNode} item node",
          "params": [
            {
              "name": "item",
              "description": "渲染节点的 item",
              "type": {
                "name": "Object"
              }
            }
          ],
          "returns": {
            "description": "item node",
            "type": {
              "name": "ReactNode"
            }
          }
        },
        "isPreview": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "是否为预览态",
          "docblock": "是否为预览态"
        },
        "renderPreview": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "预览态模式下渲染的内容",
          "docblock": "预览态模式下渲染的内容\n@param {number} value 评分值",
          "params": [
            {
              "name": "value",
              "description": "评分值",
              "type": {
                "name": "number"
              }
            }
          ],
          "returns": null
        },
        "onChange": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "Select发生改变时触发的回调",
          "docblock": "Select发生改变时触发的回调\n@param {*} value 选中的值\n@param {String} actionType 触发的方式, 'itemClick', 'enter', 'change'\n@param {*} item 选中的值的对象数据",
          "params": [
            {
              "name": "value",
              "description": "选中的值",
              "type": {
                "name": "mixed"
              }
            },
            {
              "name": "actionType",
              "description": "触发的方式, 'itemClick', 'enter', 'change'",
              "type": {
                "name": "String"
              }
            },
            {
              "name": "item",
              "description": "选中的值的对象数据",
              "type": {
                "name": "mixed"
              }
            }
          ],
          "returns": null
        },
        "fillProps": {
          "type": {
            "name": "string"
          },
          "required": false,
          "description": "填充到选择框里的值的 key\b\b，默认是 value",
          "defaultValue": {
            "value": "'value'",
            "computed": false
          },
          "docblock": "填充到选择框里的值的 key\b\b，默认是 value"
        }
      },
      "methods": [
        {
          "name": "handleTriggerKeyDown",
          "docblock": "Handle trigger keydown event\n@param {Event} e",
          "modifiers": [],
          "params": [
            {
              "name": "e",
              "description": null,
              "type": {
                "name": "Event"
              }
            }
          ],
          "returns": null,
          "description": "Handle trigger keydown event"
        },
        {
          "name": "renderSelect",
          "docblock": "选择器\n@override\n@param {object} props",
          "modifiers": [],
          "params": [
            {
              "name": "props",
              "description": null,
              "type": {
                "name": "object"
              }
            }
          ],
          "returns": null,
          "description": "选择器"
        }
      ]
    },
    {
      "name": "OptionGroup",
      "props": {
        "label": {
          "type": {
            "name": "node"
          },
          "required": false,
          "description": "设置分组的文案",
          "docblock": "设置分组的文案"
        }
      },
      "methods": []
    },
    {
      "name": "Option",
      "props": {
        "value": {
          "type": {
            "name": "any"
          },
          "required": true,
          "description": "选项值",
          "docblock": "选项值"
        },
        "disabled": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "是否禁用",
          "docblock": "是否禁用"
        }
      },
      "methods": []
    }
  ]
}