@alifd/next
Version:
A configurable component library for web built on React.
575 lines • 17.4 kB
JSON
{
"name": "Dropdown",
"props": {
"children": {
"type": {
"name": "node"
},
"required": false,
"description": "弹层内容",
"docblock": "弹层内容"
},
"visible": {
"type": {
"name": "bool"
},
"required": false,
"description": "弹层当前是否显示",
"docblock": "弹层当前是否显示"
},
"onRequestClose": {
"type": {
"name": "func"
},
"required": false,
"description": "弹层请求关闭时触发事件的回调函数",
"defaultValue": {
"value": "func.noop",
"computed": true
},
"docblock": "弹层请求关闭时触发事件的回调函数\n@param {String} type 弹层关闭的来源\n@param {Object} e DOM 事件",
"params": [
{
"name": "type",
"description": "弹层关闭的来源",
"type": {
"name": "String"
}
},
{
"name": "e",
"description": "DOM 事件",
"type": {
"name": "Object"
}
}
],
"returns": null
},
"target": {
"type": {
"name": "any"
},
"required": false,
"description": "弹层定位的参照元素",
"docblock": "弹层定位的参照元素\n@default target 属性,即触发元素",
"defaultValue": {
"value": "target 属性,即触发元素",
"computed": false
}
},
"align": {
"type": {
"name": "string"
},
"required": false,
"description": "弹层相对于触发元素的定位, 详见 Overlay 的定位部分",
"defaultValue": {
"value": "'tl bl'",
"computed": false
},
"docblock": "弹层相对于触发元素的定位, 详见 Overlay 的定位部分"
},
"offset": {
"type": {
"name": "array"
},
"required": false,
"description": "弹层相对于trigger的定位的微调, 接收数组[hoz, ver], 表示弹层在 left / top 上的增量\ne.g. [100, 100] 表示往右(RTL 模式下是往左) 、下分布偏移100px",
"defaultValue": {
"value": "[0, 0]",
"computed": false
},
"docblock": "弹层相对于trigger的定位的微调, 接收数组[hoz, ver], 表示弹层在 left / top 上的增量\ne.g. [100, 100] 表示往右(RTL 模式下是往左) 、下分布偏移100px"
},
"container": {
"type": {
"name": "any"
},
"required": false,
"description": "渲染组件的容器,如果是函数需要返回 ref,如果是字符串则是该 DOM 的 id,也可以直接传入 DOM 节点",
"docblock": "渲染组件的容器,如果是函数需要返回 ref,如果是字符串则是该 DOM 的 id,也可以直接传入 DOM 节点"
},
"hasMask": {
"type": {
"name": "bool"
},
"required": false,
"description": "是否显示遮罩",
"defaultValue": {
"value": "false",
"computed": false
},
"docblock": "是否显示遮罩"
},
"canCloseByEsc": {
"type": {
"name": "bool"
},
"required": false,
"description": "是否支持 esc 按键关闭弹层",
"defaultValue": {
"value": "true",
"computed": false
},
"docblock": "是否支持 esc 按键关闭弹层"
},
"canCloseByOutSideClick": {
"type": {
"name": "bool"
},
"required": false,
"description": "点击弹层外的区域是否关闭弹层,不显示遮罩时生效",
"defaultValue": {
"value": "true",
"computed": false
},
"docblock": "点击弹层外的区域是否关闭弹层,不显示遮罩时生效"
},
"canCloseByMask": {
"type": {
"name": "bool"
},
"required": false,
"description": "点击遮罩区域是否关闭弹层,显示遮罩时生效",
"defaultValue": {
"value": "true",
"computed": false
},
"docblock": "点击遮罩区域是否关闭弹层,显示遮罩时生效"
},
"beforeOpen": {
"type": {
"name": "func"
},
"required": false,
"description": "弹层打开前触发事件的回调函数",
"defaultValue": {
"value": "func.noop",
"computed": true
},
"docblock": "弹层打开前触发事件的回调函数",
"params": [],
"returns": null
},
"onOpen": {
"type": {
"name": "func"
},
"required": false,
"description": "弹层打开时触发事件的回调函数",
"defaultValue": {
"value": "func.noop",
"computed": true
},
"docblock": "弹层打开时触发事件的回调函数",
"params": [],
"returns": null
},
"afterOpen": {
"type": {
"name": "func"
},
"required": false,
"description": "弹层打开后触发事件的回调函数, 如果有动画,则在动画结束后触发",
"defaultValue": {
"value": "func.noop",
"computed": true
},
"docblock": "弹层打开后触发事件的回调函数, 如果有动画,则在动画结束后触发",
"params": [],
"returns": null
},
"beforeClose": {
"type": {
"name": "func"
},
"required": false,
"description": "弹层关闭前触发事件的回调函数",
"defaultValue": {
"value": "func.noop",
"computed": true
},
"docblock": "弹层关闭前触发事件的回调函数",
"params": [],
"returns": null
},
"onClose": {
"type": {
"name": "func"
},
"required": false,
"description": "弹层关闭时触发事件的回调函数",
"defaultValue": {
"value": "func.noop",
"computed": true
},
"docblock": "弹层关闭时触发事件的回调函数",
"params": [],
"returns": null
},
"afterClose": {
"type": {
"name": "func"
},
"required": false,
"description": "弹层关闭后触发事件的回调函数, 如果有动画,则在动画结束后触发",
"defaultValue": {
"value": "func.noop",
"computed": true
},
"docblock": "弹层关闭后触发事件的回调函数, 如果有动画,则在动画结束后触发",
"params": [],
"returns": null
},
"beforePosition": {
"type": {
"name": "func"
},
"required": false,
"description": "弹层定位完成前触发的事件",
"defaultValue": {
"value": "func.noop",
"computed": true
},
"docblock": "弹层定位完成前触发的事件",
"params": [],
"returns": null
},
"onPosition": {
"type": {
"name": "func"
},
"required": false,
"description": "弹层定位完成时触发的事件",
"defaultValue": {
"value": "func.noop",
"computed": true
},
"docblock": "弹层定位完成时触发的事件\n@param {Object} config 定位的参数\n@param {Array} config.align 对齐方式,如 ['cc', 'cc'](如果开启 needAdjust,可能和预先设置的 align 不同)\n@param {Number} config.top 距离视口顶部距离\n@param {Number} config.left 距离视口左侧距离\n@param {Object} node 定位参照的容器节点",
"params": [
{
"name": "config",
"description": "定位的参数",
"type": {
"name": "Object"
}
},
{
"name": "config.align",
"description": "对齐方式,如 ['cc', 'cc'](如果开启 needAdjust,可能和预先设置的 align 不同)",
"type": {
"name": "Array"
}
},
{
"name": "config.top",
"description": "距离视口顶部距离",
"type": {
"name": "Number"
}
},
{
"name": "config.left",
"description": "距离视口左侧距离",
"type": {
"name": "Number"
}
},
{
"name": "node",
"description": "定位参照的容器节点",
"type": {
"name": "Object"
}
}
],
"returns": null
},
"autoFocus": {
"type": {
"name": "bool"
},
"required": false,
"description": "弹层打开时是否让其中的元素自动获取焦点",
"docblock": "弹层打开时是否让其中的元素自动获取焦点"
},
"disableScroll": {
"type": {
"name": "bool"
},
"required": false,
"description": "是否禁用页面滚动",
"defaultValue": {
"value": "false",
"computed": false
},
"docblock": "是否禁用页面滚动"
},
"useCapture": {
"type": {
"name": "bool"
},
"required": false,
"description": "是否在捕获阶段监听,适配 react 17 事件模型变更",
"defaultValue": {
"value": "true",
"computed": false
},
"docblock": "是否在捕获阶段监听,适配 react 17 事件模型变更\n@version 1.25",
"version": {
"value": "1.25",
"computed": false
}
},
"cache": {
"type": {
"name": "bool"
},
"required": false,
"description": "隐藏时是否保留子节点",
"defaultValue": {
"value": "false",
"computed": false
},
"docblock": "隐藏时是否保留子节点"
},
"safeNode": {
"type": {
"name": "any"
},
"required": false,
"description": "安全节点,当点击 document 的时候,如果包含该节点则不会关闭弹层,如果是函数需要返回 ref,如果是字符串则是该 DOM 的 id,也可以直接传入 DOM 节点,或者以上值组成的数组",
"docblock": "安全节点,当点击 document 的时候,如果包含该节点则不会关闭弹层,如果是函数需要返回 ref,如果是字符串则是该 DOM 的 id,也可以直接传入 DOM 节点,或者以上值组成的数组"
},
"wrapperClassName": {
"type": {
"name": "string"
},
"required": false,
"description": "弹层的根节点的样式类",
"docblock": "弹层的根节点的样式类"
},
"wrapperStyle": {
"type": {
"name": "object"
},
"required": false,
"description": "弹层的根节点的内联样式",
"docblock": "弹层的根节点的内联样式",
"properties": []
},
"animation": {
"type": {
"name": "union",
"value": [
{
"name": "object"
},
{
"name": "bool"
}
]
},
"required": false,
"description": "配置动画的播放方式,支持 { in: 'enter-class', out: 'leave-class' } 的对象参数,如果设置为 false,则不播放动画",
"docblock": "配置动画的播放方式,支持 { in: 'enter-class', out: 'leave-class' } 的对象参数,如果设置为 false,则不播放动画\n@default { in: 'expandInDown', out: 'expandOutUp' }",
"defaultValue": {
"value": "{ in: 'expandInDown', out: 'expandOutUp' }",
"computed": false
}
},
"v2": {
"type": {
"name": "bool"
},
"required": false,
"description": "开启 v2 版本",
"docblock": "开启 v2 版本"
},
"points": {
"type": {
"name": "array"
},
"required": false,
"description": "[v2] align 的数组形式,不能和 align 同时使用",
"docblock": "[v2] align 的数组形式,不能和 align 同时使用\n@version 1.25",
"version": {
"value": "1.25",
"computed": false
}
},
"trigger": {
"type": {
"name": "node"
},
"required": false,
"description": "触发弹层显示或者隐藏的元素",
"docblock": "触发弹层显示或者隐藏的元素"
},
"triggerType": {
"type": {
"name": "union",
"value": [
{
"name": "string"
},
{
"name": "array"
}
]
},
"required": false,
"description": "触发弹层显示或隐藏的操作类型,可以是 'click','hover',或者它们组成的数组,如 ['hover', 'click']",
"defaultValue": {
"value": "'hover'",
"computed": false
},
"docblock": "触发弹层显示或隐藏的操作类型,可以是 'click','hover',或者它们组成的数组,如 ['hover', 'click']"
},
"triggerClickKeycode": {
"type": {
"name": "union",
"value": [
{
"name": "number"
},
{
"name": "array"
}
]
},
"required": false,
"description": "当 triggerType 为 click 时才生效,可自定义触发弹层显示的键盘码",
"defaultValue": {
"value": "[KEYCODE.SPACE, KEYCODE.ENTER]",
"computed": false
},
"docblock": "当 triggerType 为 click 时才生效,可自定义触发弹层显示的键盘码"
},
"defaultVisible": {
"type": {
"name": "bool"
},
"required": false,
"description": "弹层默认是否显示",
"defaultValue": {
"value": "false",
"computed": false
},
"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
},
"disabled": {
"type": {
"name": "bool"
},
"required": false,
"description": "设置此属性,弹层无法显示或隐藏",
"defaultValue": {
"value": "false",
"computed": false
},
"docblock": "设置此属性,弹层无法显示或隐藏"
},
"delay": {
"type": {
"name": "number"
},
"required": false,
"description": "弹层显示或隐藏的延时时间(以毫秒为单位),在 triggerType 被设置为 hover 时生效",
"defaultValue": {
"value": "200",
"computed": false
},
"docblock": "弹层显示或隐藏的延时时间(以毫秒为单位),在 triggerType 被设置为 hover 时生效"
},
"canCloseByTrigger": {
"type": {
"name": "bool"
},
"required": false,
"description": "trigger 是否可以关闭弹层",
"defaultValue": {
"value": "true",
"computed": false
},
"docblock": "trigger 是否可以关闭弹层"
},
"followTrigger": {
"type": {
"name": "bool"
},
"required": false,
"description": "是否跟随trigger滚动",
"defaultValue": {
"value": "false",
"computed": false
},
"docblock": "是否跟随trigger滚动"
},
"placement": {
"type": {
"name": "string"
},
"required": false,
"description": "[v2] 快捷位置,包含 'tl' | 't' | 'tr' | 'rt' | 'r' | 'rb' | 'bl' | 'b' | 'br' | 'lt' | 'l' | 'lb'",
"docblock": "[v2] 快捷位置,包含 'tl' | 't' | 'tr' | 'rt' | 'r' | 'rb' | 'bl' | 'b' | 'br' | 'lt' | 'l' | 'lb'"
},
"placementOffset": {
"type": {
"name": "number"
},
"required": false,
"description": "[v2] 弹层偏离触发元素的像素值",
"docblock": "[v2] 弹层偏离触发元素的像素值"
},
"autoClose": {
"type": {
"name": "bool"
},
"required": false,
"description": "开启后,children 不管是不是Menu,点击后都默认关掉弹层(2.x默认设置为true)",
"defaultValue": {
"value": "false",
"computed": false
},
"docblock": "开启后,children 不管是不是Menu,点击后都默认关掉弹层(2.x默认设置为true)\n@version 1.23",
"version": {
"value": "1.23",
"computed": false
}
}
},
"methods": [],
"description": "继承 Popup 的 API,除非特别说明",
"subComponents": []
}