{
  "name": "TreeSelect",
  "props": {
    "children": {
      "type": {
        "name": "node"
      },
      "required": false,
      "description": "树节点",
      "docblock": "树节点"
    },
    "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": "选择框大小"
    },
    "placeholder": {
      "type": {
        "name": "string"
      },
      "required": false,
      "description": "选择框占位符",
      "docblock": "选择框占位符"
    },
    "disabled": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否禁用",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "是否禁用"
    },
    "hasArrow": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否有下拉箭头",
      "defaultValue": {
        "value": "true",
        "computed": false
      },
      "docblock": "是否有下拉箭头"
    },
    "hasBorder": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否有边框",
      "defaultValue": {
        "value": "true",
        "computed": false
      },
      "docblock": "是否有边框"
    },
    "hasClear": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否有清空按钮",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "是否有清空按钮"
    },
    "label": {
      "type": {
        "name": "node"
      },
      "required": false,
      "description": "自定义内联 label",
      "docblock": "自定义内联 label"
    },
    "readOnly": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否只读，只读模式下可以展开弹层但不能选择",
      "docblock": "是否只读，只读模式下可以展开弹层但不能选择"
    },
    "autoWidth": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "下拉框是否与选择器对齐",
      "defaultValue": {
        "value": "true",
        "computed": false
      },
      "docblock": "下拉框是否与选择器对齐"
    },
    "dataSource": {
      "type": {
        "name": "arrayOf",
        "value": {
          "name": "object"
        }
      },
      "required": false,
      "description": "数据源，该属性优先级高于 children",
      "docblock": "数据源，该属性优先级高于 children"
    },
    "preserveNonExistentValue": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "value/defaultValue 在 dataSource 中不存在时，是否展示",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "value/defaultValue 在 dataSource 中不存在时，是否展示\n@version 1.25",
      "version": {
        "value": "1.25",
        "computed": false
      }
    },
    "value": {
      "type": {
        "name": "union",
        "value": [
          {
            "name": "string"
          },
          {
            "name": "object"
          },
          {
            "name": "arrayOf",
            "value": {
              "name": "any"
            }
          }
        ]
      },
      "required": false,
      "description": "（受控）当前值",
      "docblock": "（受控）当前值"
    },
    "defaultValue": {
      "type": {
        "name": "union",
        "value": [
          {
            "name": "string"
          },
          {
            "name": "object"
          },
          {
            "name": "arrayOf",
            "value": {
              "name": "any"
            }
          }
        ]
      },
      "required": false,
      "description": "（非受控）默认值",
      "defaultValue": {
        "value": "null",
        "computed": false
      },
      "docblock": "（非受控）默认值"
    },
    "onChange": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "选中值改变时触发的回调函数",
      "defaultValue": {
        "value": "() => {}",
        "computed": false
      },
      "docblock": "选中值改变时触发的回调函数\n@param {String|Array} value 选中的值，单选时返回单个值，多选时返回数组\n@param {Object|Array} data 选中的数据，包括 value, label, pos, key属性，单选时返回单个值，多选时返回数组，父子节点选中关联时，同时选中，只返回父节点",
      "params": [
        {
          "name": "value",
          "description": "选中的值，单选时返回单个值，多选时返回数组",
          "type": {
            "name": "union",
            "value": [
              "String",
              "Array"
            ]
          }
        },
        {
          "name": "data",
          "description": "选中的数据，包括 value, label, pos, key属性，单选时返回单个值，多选时返回数组，父子节点选中关联时，同时选中，只返回父节点",
          "type": {
            "name": "union",
            "value": [
              "Object",
              "Array"
            ]
          }
        }
      ],
      "returns": null
    },
    "tagInline": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否一行显示，仅在 multiple 和 treeCheckable 为 true 时生效",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "是否一行显示，仅在 multiple 和 treeCheckable 为 true 时生效\n@version 1.25",
      "version": {
        "value": "1.25",
        "computed": false
      }
    },
    "maxTagPlaceholder": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "隐藏多余 tag 时显示的内容，在 tagInline 生效时起作用",
      "docblock": "隐藏多余 tag 时显示的内容，在 tagInline 生效时起作用\n@param {Object[]} selectedValues 当前已选中的元素\n@param {Object[]} totalValues 总待选元素\n@returns {reactNode}\n@version 1.25",
      "params": [
        {
          "name": "selectedValues",
          "description": "当前已选中的元素",
          "type": {
            "name": "Array"
          }
        },
        {
          "name": "totalValues",
          "description": "总待选元素",
          "type": {
            "name": "Array"
          }
        }
      ],
      "returns": {
        "description": null,
        "type": {
          "name": "reactNode"
        }
      },
      "version": {
        "value": "1.25",
        "computed": false
      }
    },
    "showSearch": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否显示搜索框",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "是否显示搜索框"
    },
    "filterLocal": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否使用本地过滤，在数据源为远程的时候需要关闭此项",
      "defaultValue": {
        "value": "true",
        "computed": false
      },
      "docblock": "是否使用本地过滤，在数据源为远程的时候需要关闭此项"
    },
    "onSearch": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "在搜索框中输入时触发的回调函数",
      "defaultValue": {
        "value": "() => {}",
        "computed": false
      },
      "docblock": "在搜索框中输入时触发的回调函数\n@param {String} keyword 输入的关键字",
      "params": [
        {
          "name": "keyword",
          "description": "输入的关键字",
          "type": {
            "name": "String"
          }
        }
      ],
      "returns": null
    },
    "notFoundContent": {
      "type": {
        "name": "node"
      },
      "required": false,
      "description": "无数据时显示内容",
      "defaultValue": {
        "value": "'Not Found'",
        "computed": false
      },
      "docblock": "无数据时显示内容"
    },
    "multiple": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否支持多选",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "是否支持多选"
    },
    "treeCheckable": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "下拉框中的树是否支持勾选节点的复选框",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "下拉框中的树是否支持勾选节点的复选框"
    },
    "treeCheckStrictly": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "下拉框中的树勾选节点复选框是否完全受控（父子节点选中状态不再关联）",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "下拉框中的树勾选节点复选框是否完全受控（父子节点选中状态不再关联）"
    },
    "treeCheckedStrategy": {
      "type": {
        "name": "enum",
        "value": [
          {
            "value": "'all'",
            "computed": false,
            "description": "返回所有选中的节点"
          },
          {
            "value": "'parent'",
            "computed": false,
            "description": "父子节点都选中时只返回父节点"
          },
          {
            "value": "'child'",
            "computed": false,
            "description": "父子节点都选中时只返回子节点"
          }
        ]
      },
      "required": false,
      "description": "定义选中时回填的方式",
      "defaultValue": {
        "value": "'parent'",
        "computed": false
      },
      "docblock": "定义选中时回填的方式\n@enumdesc 返回所有选中的节点, 父子节点都选中时只返回父节点, 父子节点都选中时只返回子节点",
      "value": [
        {
          "value": "'all'",
          "computed": false,
          "description": "返回所有选中的节点"
        },
        {
          "value": "'parent'",
          "computed": false,
          "description": "父子节点都选中时只返回父节点"
        },
        {
          "value": "'child'",
          "computed": false,
          "description": "父子节点都选中时只返回子节点"
        }
      ]
    },
    "treeDefaultExpandAll": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "下拉框中的树是否默认展开所有节点",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "下拉框中的树是否默认展开所有节点"
    },
    "treeDefaultExpandedKeys": {
      "type": {
        "name": "arrayOf",
        "value": {
          "name": "string"
        }
      },
      "required": false,
      "description": "下拉框中的树默认展开节点key的数组",
      "defaultValue": {
        "value": "[]",
        "computed": false
      },
      "docblock": "下拉框中的树默认展开节点key的数组"
    },
    "treeLoadData": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "下拉框中的树异步加载数据的函数，使用请参考[Tree的异步加载数据Demo](https://fusion.design/pc/component/tree?themeid=2#dynamic-container)",
      "docblock": "下拉框中的树异步加载数据的函数，使用请参考[Tree的异步加载数据Demo](https://fusion.design/pc/component/tree?themeid=2#dynamic-container)\n@param {ReactElement} node 被点击展开的节点",
      "params": [
        {
          "name": "node",
          "description": "被点击展开的节点",
          "type": {
            "name": "ReactElement"
          }
        }
      ],
      "returns": null
    },
    "treeProps": {
      "type": {
        "name": "object"
      },
      "required": false,
      "description": "透传到 Tree 的属性对象",
      "defaultValue": {
        "value": "{}",
        "computed": false
      },
      "docblock": "透传到 Tree 的属性对象",
      "properties": []
    },
    "defaultVisible": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "初始下拉框是否显示",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "初始下拉框是否显示"
    },
    "visible": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "当前下拉框是否显示",
      "docblock": "当前下拉框是否显示"
    },
    "onVisibleChange": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "下拉框显示或关闭时触发事件的回调函数",
      "defaultValue": {
        "value": "() => {}",
        "computed": false
      },
      "docblock": "下拉框显示或关闭时触发事件的回调函数\n@param {Boolean} visible 是否显示\n@param {String} type 触发显示关闭的操作类型",
      "params": [
        {
          "name": "visible",
          "description": "是否显示",
          "type": {
            "name": "Boolean"
          }
        },
        {
          "name": "type",
          "description": "触发显示关闭的操作类型",
          "type": {
            "name": "String"
          }
        }
      ],
      "returns": null
    },
    "popupStyle": {
      "type": {
        "name": "object"
      },
      "required": false,
      "description": "下拉框自定义样式对象",
      "docblock": "下拉框自定义样式对象",
      "properties": []
    },
    "popupClassName": {
      "type": {
        "name": "string"
      },
      "required": false,
      "description": "下拉框样式自定义类名",
      "docblock": "下拉框样式自定义类名"
    },
    "popupContainer": {
      "type": {
        "name": "any"
      },
      "required": false,
      "description": "下拉框挂载的容器节点",
      "docblock": "下拉框挂载的容器节点"
    },
    "popupProps": {
      "type": {
        "name": "object"
      },
      "required": false,
      "description": "透传到 Popup 的属性对象",
      "docblock": "透传到 Popup 的属性对象",
      "properties": []
    },
    "followTrigger": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否跟随滚动",
      "docblock": "是否跟随滚动"
    },
    "isPreview": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否为预览态",
      "docblock": "是否为预览态"
    },
    "renderPreview": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "预览态模式下渲染的内容",
      "docblock": "预览态模式下渲染的内容\n@param {Array<data>} value 选择值 { label: , value:}",
      "params": [
        {
          "name": "value",
          "description": "选择值 { label: , value:}",
          "type": {
            "name": "Array"
          }
        }
      ],
      "returns": null
    },
    "useVirtual": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否开启虚拟滚动",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "是否开启虚拟滚动"
    },
    "immutable": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否是不可变数据",
      "docblock": "是否是不可变数据\n@version 1.23",
      "version": {
        "value": "1.23",
        "computed": false
      }
    }
  },
  "methods": [
    {
      "name": "renderMaxTagPlaceholder",
      "docblock": "TreeSelect 无法直接使用 Select 的 maxTagPlaceholder 逻辑\nSelect 的 totalValue 是所有 leaf 节点，TreeSelect 的 totalValue 受 treeCheckedStrategy 和 treeCheckStrictly 影响\n\ntreeCheckStrictly = true: totalValue 为所有节点\n\ntreeCheckStrictly = false: 根据 treeCheckedStrategy 判断\n  treeCheckedStrategy = 'all': totalValue 为所有节点\n  treeCheckedStrategy = 'parent': totalValue 无意义，不返回\n  treeCheckedStrategy = 'child': totalValue 为所有 leaf 节点",
      "modifiers": [],
      "params": [
        {
          "name": "value"
        },
        {
          "name": "totalValue"
        }
      ],
      "returns": null,
      "description": "TreeSelect 无法直接使用 Select 的 maxTagPlaceholder 逻辑\nSelect 的 totalValue 是所有 leaf 节点，TreeSelect 的 totalValue 受 treeCheckedStrategy 和 treeCheckStrictly 影响\n\ntreeCheckStrictly = true: totalValue 为所有节点\n\ntreeCheckStrictly = false: 根据 treeCheckedStrategy 判断\n  treeCheckedStrategy = 'all': totalValue 为所有节点\n  treeCheckedStrategy = 'parent': totalValue 无意义，不返回\n  treeCheckedStrategy = 'child': totalValue 为所有 leaf 节点"
    }
  ],
  "subComponents": []
}