diff --git a/packages/editor/src/config/assets.js b/packages/editor/src/config/assets.js
index 954ac79e6..4a6193df6 100644
--- a/packages/editor/src/config/assets.js
+++ b/packages/editor/src/config/assets.js
@@ -24,19 +24,111 @@ export default {
exportName: 'Button'
},
props: [
+ {
+ name: 'prefix',
+ propType: 'string',
+ defaultValue: "'next-'"
+ },
+ {
+ name: 'rtl',
+ propType: 'bool'
+ },
{
name: 'type',
- propType: 'string'
+ propType: {
+ type: 'oneOf',
+ value: ['primary', 'secondary', 'normal']
+ },
+ description: '按钮的类型',
+ defaultValue: "'normal'"
+ },
+ {
+ name: 'size',
+ propType: {
+ type: 'oneOf',
+ value: ['small', 'medium', 'large']
+ },
+ description: '按钮的尺寸',
+ defaultValue: "'medium'"
+ },
+ {
+ name: 'iconSize',
+ propType: {
+ type: 'oneOf',
+ value: ['xxs', 'xs', 'small', 'medium', 'large', 'xl', 'xxl', 'xxxl']
+ },
+ description: '按钮中 Icon 的尺寸,用于替代 Icon 的默认大小'
+ },
+ {
+ name: 'htmlType',
+ propType: {
+ type: 'oneOf',
+ value: ['submit', 'reset', 'button']
+ },
+ description: "当 component = 'button' 时,设置 button 标签的 type 值",
+ defaultValue: "'button'"
+ },
+ {
+ name: 'component',
+ propType: {
+ type: 'oneOf',
+ value: ['button', 'a', 'div', 'span']
+ },
+ description: '设置标签类型',
+ defaultValue: "'button'"
+ },
+ {
+ name: 'loading',
+ propType: 'bool',
+ description: '设置按钮的载入状态',
+ defaultValue: 'false'
+ },
+ {
+ name: 'ghost',
+ propType: {
+ type: 'oneOf',
+ value: [true, false, 'light', 'dark']
+ },
+ description: '是否为幽灵按钮',
+ defaultValue: 'false'
+ },
+ {
+ name: 'text',
+ propType: 'bool',
+ description: '是否为文本按钮',
+ defaultValue: 'false'
+ },
+ {
+ name: 'warning',
+ propType: 'bool',
+ description: '是否为警告按钮',
+ defaultValue: 'false'
+ },
+ {
+ name: 'disabled',
+ propType: 'bool',
+ description: '是否禁用',
+ defaultValue: 'false'
},
{
name: 'onClick',
+ propType: 'func',
+ description: '点击按钮的回调\n@param {Object} e Event Object',
+ defaultValue: '() => {}'
+ },
+ {
+ name: 'className',
+ propType: 'string'
+ },
+ {
+ name: 'onMouseUp',
propType: 'func'
},
{
name: 'children',
- propType: 'string'
+ propType: 'node'
}
- ],
+ ]
},
'Button.Group': {
componentName: 'Button.Group',
@@ -50,11 +142,30 @@ export default {
subName: 'Group'
},
props: [
+ {
+ name: 'rtl',
+ propType: 'bool'
+ },
+ {
+ name: 'prefix',
+ propType: 'string',
+ defaultValue: "'next-'"
+ },
{
name: 'size',
+ propType: 'string',
+ description: '统一设置 Button 组件的按钮大小',
+ defaultValue: "'medium'"
+ },
+ {
+ name: 'className',
propType: 'string'
+ },
+ {
+ name: 'children',
+ propType: 'node'
}
- ],
+ ]
},
Input: {
componentName: 'Input',
@@ -68,26 +179,132 @@ export default {
},
props: [
{
- name: 'placeholder',
+ name: 'label',
+ propType: 'node',
+ description: 'label'
+ },
+ {
+ name: 'hasClear',
+ propType: 'bool',
+ description: '是否出现clear按钮'
+ },
+ {
+ name: 'hasBorder',
+ propType: 'bool',
+ description: '是否有边框',
+ defaultValue: 'true'
+ },
+ {
+ name: 'state',
+ propType: {
+ type: 'oneOf',
+ value: ['error', 'loading', 'success', 'warning']
+ },
+ description: '状态\n@enumdesc 错误, 校验中, 成功, 警告'
+ },
+ {
+ name: 'size',
+ propType: {
+ type: 'oneOf',
+ value: ['small', 'medium', 'large']
+ },
+ description: '尺寸\n@enumdesc 小, 中, 大',
+ defaultValue: "'medium'"
+ },
+ {
+ name: 'onPressEnter',
+ propType: 'func',
+ description: '按下回车的回调',
+ defaultValue: 'func.noop'
+ },
+ {
+ name: 'onClear',
+ propType: 'func'
+ },
+ {
+ name: 'htmlType',
+ propType: 'string',
+ description: '原生type'
+ },
+ {
+ name: 'htmlSize',
propType: 'string'
},
{
- name: 'onChange',
- propType: 'func'
+ name: 'hint',
+ propType: 'string',
+ description: '水印 (Icon的type类型,和hasClear占用一个地方)'
},
{
- name: 'onKeyDown',
- propType: 'func'
+ name: 'innerBefore',
+ propType: 'node',
+ description: '文字前附加内容'
},
{
- name: 'onFocus',
- propType: 'func'
+ name: 'innerAfter',
+ propType: 'node',
+ description: '文字后附加内容'
},
{
- name: 'onBlur',
- propType: 'func'
+ name: 'addonBefore',
+ propType: 'node',
+ description: '输入框前附加内容'
+ },
+ {
+ name: 'addonAfter',
+ propType: 'node',
+ description: '输入框后附加内容'
+ },
+ {
+ name: 'addonTextBefore',
+ propType: 'node',
+ description: '输入框前附加文字'
+ },
+ {
+ name: 'addonTextAfter',
+ propType: 'node',
+ description: '输入框后附加文字'
+ },
+ {
+ name: 'autoComplete',
+ propType: 'string',
+ description: '(原生input支持)',
+ defaultValue: "'off'"
+ },
+ {
+ name: 'autoFocus',
+ propType: 'bool',
+ description: '自动聚焦(原生input支持)'
+ },
+ {
+ name: 'inputRender',
+ propType: 'func',
+ defaultValue: 'el => el'
+ },
+ {
+ name: 'extra',
+ propType: 'node'
+ },
+ {
+ name: 'innerBeforeClassName',
+ propType: 'string'
+ },
+ {
+ name: 'innerAfterClassName',
+ propType: 'string'
+ },
+ {
+ name: 'isPreview',
+ propType: 'bool',
+ description: '是否为预览态',
+ defaultValue: 'false'
+ },
+ {
+ name: 'renderPreview',
+ propType: 'func',
+ description: '预览态模式下渲染的内容\n@param {number} value 评分值'
}
- ],
+ ]
},
Form: {
componentName: 'Form',
@@ -101,14 +318,139 @@ export default {
},
props: [
{
- name: 'device',
- propType: 'string'
+ name: 'prefix',
+ propType: 'string',
+ description: '样式前缀',
+ defaultValue: '"next-"'
+ },
+ {
+ name: 'inline',
+ propType: 'bool',
+ description: '内联表单'
+ },
+ {
+ name: 'size',
+ propType: {
+ type: 'oneOf',
+ value: ['large', 'medium', 'small']
+ },
+ description:
+ '单个 Item 的 size 自定义,优先级高于 Form 的 size, 并且当组件与 Item 一起使用时,组件自身设置 size 属性无效。\n@enumdesc 大, 中, 小',
+ defaultValue: '"medium"'
+ },
+ {
+ name: 'fullWidth',
+ propType: 'bool',
+ description: '单个 Item 中表单类组件宽度是否是100%'
+ },
+ {
+ name: 'labelAlign',
+ propType: {
+ type: 'oneOf',
+ value: ['top', 'left', 'inset']
+ },
+ description: '标签的位置\n@enumdesc 上, 左, 内',
+ defaultValue: '"left"'
+ },
+ {
+ name: 'labelTextAlign',
+ propType: {
+ type: 'oneOf',
+ value: ['left', 'right']
+ },
+ description: '标签的左右对齐方式\n@enumdesc 左, 右'
+ },
+ {
+ name: 'field',
+ propType: 'any',
+ description: 'field 实例, 传 false 会禁用 field'
+ },
+ {
+ name: 'saveField',
+ propType: 'func',
+ description: '保存 Form 自动生成的 field 对象',
+ defaultValue: 'func.noop'
+ },
+ {
+ name: 'labelCol',
+ propType: 'object',
+ description: '控制第一级 Item 的 labelCol'
+ },
+ {
+ name: 'wrapperCol',
+ propType: 'object',
+ description: '控制第一级 Item 的 wrapperCol'
+ },
+ {
+ name: 'onSubmit',
+ propType: 'func',
+ description: 'form内有 `htmlType="submit"` 的元素的时候会触发',
+ defaultValue: 'function preventDefault(e) {\n e.preventDefault();\n}'
+ },
+ {
+ name: 'children',
+ propType: 'any',
+ description: '子元素'
+ },
+ {
+ name: 'className',
+ propType: 'string',
+ description: '扩展class'
+ },
+ {
+ name: 'style',
+ propType: 'object',
+ description: '自定义内联样式'
+ },
+ {
+ name: 'value',
+ propType: 'object',
+ description: '表单数值'
},
{
name: 'onChange',
- propType: 'func'
+ propType: 'func',
+ description:
+ '表单变化回调\n@param {Object} values 表单数据\n@param {Object} item 详细\n@param {String} item.name 变化的组件名\n@param {String} item.value 变化的数据\n@param {Object} item.field field 实例',
+ defaultValue: 'func.noop'
},
- ],
+ {
+ name: 'component',
+ propType: {
+ type: 'oneOfType',
+ value: ['string', 'func']
+ },
+ description: '设置标签类型',
+ defaultValue: '"form"'
+ },
+ {
+ name: 'fieldOptions',
+ propType: 'object'
+ },
+ {
+ name: 'rtl',
+ propType: 'bool'
+ },
+ {
+ name: 'device',
+ propType: {
+ type: 'oneOf',
+ value: ['phone', 'tablet', 'desktop']
+ },
+ description: '预设屏幕宽度',
+ defaultValue: '"desktop"'
+ },
+ {
+ name: 'responsive',
+ propType: 'bool',
+ description: '是否开启内置的响应式布局 (使用ResponsiveGrid)'
+ },
+ {
+ name: 'isPreview',
+ propType: 'bool',
+ description: '是否开启预览态'
+ }
+ ]
},
'Form.Item': {
componentName: 'Form.Item',
@@ -123,14 +465,289 @@ export default {
},
props: [
{
- name: 'label',
+ name: 'prefix',
propType: 'string',
+ description: '样式前缀',
+ defaultValue: "'next-'"
+ },
+ {
+ name: 'rtl',
+ propType: 'bool'
+ },
+ {
+ name: 'label',
+ propType: 'node',
+ description: 'label 标签的文本'
+ },
+ {
+ name: 'labelCol',
+ propType: 'object',
+ description:
+ 'label 标签布局,通 `
` 组件,设置 span offset 值,如 {span: 8, offset: 16},该项仅在垂直表单有效'
+ },
+ {
+ name: 'wrapperCol',
+ propType: 'object',
+ description: '需要为输入控件设置布局样式时,使用该属性,用法同 labelCol'
+ },
+ {
+ name: 'help',
+ propType: 'node',
+ description: '自定义提示信息,如不设置,则会根据校验规则自动生成.'
+ },
+ {
+ name: 'extra',
+ propType: 'node',
+ description:
+ '额外的提示信息,和 help 类似,当需要错误信息和提示文案同时出现时,可以使用这个。 位于错误信息后面'
+ },
+ {
+ name: 'validateState',
+ propType: {
+ type: 'oneOf',
+ value: ['error', 'success', 'loading', 'warning']
+ },
+ description: '校验状态,如不设置,则会根据校验规则自动生成\n@enumdesc 失败, 成功, 校验中, 警告'
+ },
+ {
+ name: 'hasFeedback',
+ propType: 'bool',
+ description: '配合 validateState 属性使用,是否展示 success/loading 的校验状态图标, 目前只有Input支持',
+ defaultValue: 'false'
+ },
+ {
+ name: 'style',
+ propType: 'object',
+ description: '自定义内联样式'
+ },
+ {
+ name: 'id',
+ propType: 'string'
+ },
+ {
+ name: 'children',
+ propType: {
+ type: 'oneOfType',
+ value: ['node', 'func']
+ },
+ description: 'node 或者 function(values)'
+ },
+ {
+ name: 'size',
+ propType: {
+ type: 'oneOf',
+ value: ['large', 'small', 'medium']
+ },
+ description:
+ '单个 Item 的 size 自定义,优先级高于 Form 的 size, 并且当组件与 Item 一起使用时,组件自身设置 size 属性无效。'
+ },
+ {
+ name: 'fullWidth',
+ propType: 'bool',
+ description: '单个 Item 中表单类组件宽度是否是100%'
+ },
+ {
+ name: 'labelAlign',
+ propType: {
+ type: 'oneOf',
+ value: ['top', 'left', 'inset']
+ },
+ description: '标签的位置\n@enumdesc 上, 左, 内'
+ },
+ {
+ name: 'labelTextAlign',
+ propType: {
+ type: 'oneOf',
+ value: ['left', 'right']
+ },
+ description: '标签的左右对齐方式\n@enumdesc 左, 右'
+ },
+ {
+ name: 'className',
+ propType: 'string',
+ description: '扩展class'
+ },
+ {
+ name: 'required',
+ propType: 'bool',
+ description: '[表单校验] 不能为空'
+ },
+ {
+ name: 'asterisk',
+ propType: 'bool',
+ description: 'required 的星号是否显示'
+ },
+ {
+ name: 'requiredMessage',
+ propType: 'string',
+ description: 'required 自定义错误信息'
+ },
+ {
+ name: 'requiredTrigger',
+ propType: {
+ type: 'oneOfType',
+ value: ['string', 'array']
+ },
+ description: 'required 自定义触发方式'
+ },
+ {
+ name: 'min',
+ propType: 'number',
+ description: '[表单校验] 最小值'
+ },
+ {
+ name: 'max',
+ propType: 'number',
+ description: '[表单校验] 最大值'
+ },
+ {
+ name: 'minmaxMessage',
+ propType: 'string',
+ description: 'min/max 自定义错误信息'
+ },
+ {
+ name: 'minmaxTrigger',
+ propType: {
+ type: 'oneOfType',
+ value: ['string', 'array']
+ },
+ description: 'min/max 自定义触发方式'
+ },
+ {
+ name: 'minLength',
+ propType: 'number',
+ description: '[表单校验] 字符串最小长度 / 数组最小个数'
+ },
+ {
+ name: 'maxLength',
+ propType: 'number',
+ description: '[表单校验] 字符串最大长度 / 数组最大个数'
+ },
+ {
+ name: 'minmaxLengthMessage',
+ propType: 'string',
+ description: 'minLength/maxLength 自定义错误信息'
+ },
+ {
+ name: 'minmaxLengthTrigger',
+ propType: {
+ type: 'oneOfType',
+ value: ['string', 'array']
+ },
+ description: 'minLength/maxLength 自定义触发方式'
+ },
+ {
+ name: 'length',
+ propType: 'number',
+ description: '[表单校验] 字符串精确长度 / 数组精确个数'
+ },
+ {
+ name: 'lengthMessage',
+ propType: 'string',
+ description: 'length 自定义错误信息'
+ },
+ {
+ name: 'lengthTrigger',
+ propType: {
+ type: 'oneOfType',
+ value: ['string', 'array']
+ },
+ description: 'length 自定义触发方式'
+ },
+ {
+ name: 'pattern',
+ propType: 'any',
+ description: '正则校验'
+ },
+ {
+ name: 'patternMessage',
+ propType: 'string',
+ description: 'pattern 自定义错误信息'
+ },
+ {
+ name: 'patternTrigger',
+ propType: {
+ type: 'oneOfType',
+ value: ['string', 'array']
+ },
+ description: 'pattern 自定义触发方式'
+ },
+ {
+ name: 'format',
+ propType: {
+ type: 'oneOf',
+ value: ['number', 'email', 'url', 'tel']
+ },
+ description: '[表单校验] 四种常用的 pattern'
+ },
+ {
+ name: 'formatMessage',
+ propType: 'string',
+ description: 'format 自定义错误信息'
+ },
+ {
+ name: 'formatTrigger',
+ propType: {
+ type: 'oneOfType',
+ value: ['string', 'array']
+ },
+ description: 'format 自定义触发方式'
+ },
+ {
+ name: 'validator',
+ propType: 'func',
+ description: '[表单校验] 自定义校验函数'
+ },
+ {
+ name: 'validatorTrigger',
+ propType: {
+ type: 'oneOfType',
+ value: ['string', 'array']
+ },
+ description: 'validator 自定义触发方式'
+ },
+ {
+ name: 'autoValidate',
+ propType: 'bool',
+ description: '是否修改数据时自动触发校验'
},
{
name: 'device',
- propType: 'string'
+ propType: {
+ type: 'oneOf',
+ value: ['phone', 'tablet', 'desktop']
+ },
+ description: '预设屏幕宽度'
+ },
+ {
+ name: 'responsive',
+ propType: 'bool'
+ },
+ {
+ name: 'colSpan',
+ propType: 'number',
+ description: '在响应式布局模式下,表单项占多少列'
+ },
+ {
+ name: 'labelWidth',
+ propType: {
+ type: 'oneOfType',
+ value: ['string', 'number']
+ },
+ description: '在响应式布局下,且label在左边时,label的宽度是多少',
+ defaultValue: '100'
+ },
+ {
+ name: 'isPreview',
+ propType: 'bool',
+ description: '是否开启预览态'
+ },
+ {
+ name: 'renderPreview',
+ propType: 'func',
+ description: '预览态模式下渲染的内容\n@param {any} value 根据包裹的组件的 value 类型而决定'
}
- ],
+ ]
},
NumberPicker: {
componentName: 'NumberPicker',
@@ -140,38 +757,186 @@ export default {
package: '@alifd/next',
version: '1.19.18',
destructuring: true,
- exportName: 'NumberPicker',
+ exportName: 'NumberPicker'
},
props: [
{
- name: 'size',
+ name: 'prefix',
propType: 'string',
+ description: '样式前缀',
+ defaultValue: '"next-"'
+ },
+ {
+ name: 'type',
+ propType: {
+ type: 'oneOf',
+ value: ['normal', 'inline']
+ },
+ description: '设置类型\n@enumdesc 普通, 内联',
+ defaultValue: '"normal"'
+ },
+ {
+ name: 'size',
+ propType: {
+ type: 'oneOf',
+ value: ['large', 'medium']
+ },
+ description: '大小',
+ defaultValue: '"medium"'
+ },
+ {
+ name: 'value',
+ propType: 'number',
+ description: '当前值'
},
{
name: 'defaultValue',
- propType: 'number'
+ propType: 'number',
+ description: '默认值'
+ },
+ {
+ name: 'disabled',
+ propType: 'bool',
+ description: '是否禁用'
+ },
+ {
+ name: 'step',
+ propType: {
+ type: 'oneOfType',
+ value: ['number', 'string']
+ },
+ description: '步长',
+ defaultValue: '1'
+ },
+ {
+ name: 'precision',
+ propType: 'number',
+ description: '保留小数点后位数',
+ defaultValue: '0'
+ },
+ {
+ name: 'editable',
+ propType: 'bool',
+ description: '用户是否可以输入',
+ defaultValue: 'true'
+ },
+ {
+ name: 'autoFocus',
+ propType: 'bool',
+ description: '自动焦点'
},
{
name: 'onChange',
- propType: 'func'
+ propType: 'func',
+ description: '数值被改变的事件\n@param {Number} value 数据\n@param {Event} e DOM事件对象',
+ defaultValue: 'func.noop'
},
{
name: 'onKeyDown',
- propType: 'func'
+ propType: 'func',
+ description: '键盘按下',
+ defaultValue: 'func.noop'
},
{
name: 'onFocus',
- propType: 'func'
+ propType: 'func',
+ description: '焦点获得'
},
{
name: 'onBlur',
- propType: 'func'
+ propType: 'func',
+ description: '焦点失去',
+ defaultValue: 'func.noop'
},
{
name: 'onCorrect',
- propType: 'func'
+ propType: 'func',
+ description: '数值订正后的回调\n@param {Object} obj {currentValue,oldValue:String}',
+ defaultValue: 'func.noop'
+ },
+ {
+ name: 'onDisabled',
+ propType: 'func',
+ defaultValue: 'func.noop'
+ },
+ {
+ name: 'max',
+ propType: 'number',
+ description: '最大值',
+ defaultValue: 'Infinity'
+ },
+ {
+ name: 'min',
+ propType: 'number',
+ description: '最小值',
+ defaultValue: '-Infinity'
+ },
+ {
+ name: 'className',
+ propType: 'string',
+ description: '自定义class'
+ },
+ {
+ name: 'style',
+ propType: 'object',
+ description: '自定义内联样式',
+ defaultValue: '{}'
+ },
+ {
+ name: 'state',
+ propType: {
+ type: 'oneOf',
+ value: ['error']
+ }
+ },
+ {
+ name: 'format',
+ propType: 'func',
+ description: '格式化当前值\n@param {Number} value\n@return {String|Number}'
+ },
+ {
+ name: 'upBtnProps',
+ propType: 'object',
+ description: '增加按钮的props'
+ },
+ {
+ name: 'downBtnProps',
+ propType: 'object',
+ description: '减少按钮的props'
+ },
+ {
+ name: 'label',
+ propType: 'node',
+ description: '内联 label'
+ },
+ {
+ name: 'innerAfter',
+ propType: 'node',
+ description: 'inner after'
+ },
+ {
+ name: 'rtl',
+ propType: 'bool'
+ },
+ {
+ name: 'isPreview',
+ propType: 'bool',
+ description: '是否为预览态'
+ },
+ {
+ name: 'renderPreview',
+ propType: 'func',
+ description: '预览态模式下渲染的内容\n@param {number} value 评分值'
+ },
+ {
+ name: 'device',
+ propType: {
+ type: 'oneOf',
+ value: ['phone', 'tablet', 'desktop']
+ },
+ description: '预设屏幕宽度'
}
- ],
+ ]
},
Select: {
componentName: 'Select',
@@ -181,54 +946,234 @@ export default {
package: '@alifd/next',
version: '1.19.18',
destructuring: true,
- exportName: 'Select',
+ exportName: 'Select'
},
props: [
{
- name: 'size',
- propType: 'string',
+ name: 'mode',
+ propType: {
+ type: 'oneOf',
+ value: ['single', 'multiple', 'tag']
+ },
+ description: '选择器模式',
+ defaultValue: '"single"'
+ },
+ {
+ name: 'value',
+ propType: 'any',
+ description: '当前值,用于受控模式'
},
{
name: 'defaultValue',
- propType: 'number'
- },
- {
- name: 'placeholder',
- propType: 'string'
+ propType: 'any',
+ description: '初始的默认值'
},
{
name: 'onChange',
- propType: 'func'
+ propType: 'func',
+ description:
+ "Select发生改变时触发的回调\n@param {*} value 选中的值\n@param {String} actionType 触发的方式, 'itemClick', 'enter', 'tag'\n@param {*} item 选中的值的对象数据 (useDetailValue=false有效)"
},
{
- name: 'onVisibleChange',
- propType: 'func'
+ name: 'dataSource',
+ propType: {
+ type: 'arrayOf',
+ value: {
+ type: 'oneOfType',
+ value: [
+ {
+ type: 'shape',
+ value: [
+ {
+ name: 'value',
+ propType: 'any'
+ },
+ {
+ name: 'label',
+ propType: 'any'
+ },
+ {
+ name: 'disabled',
+ propType: 'bool'
+ },
+ {
+ name: 'children',
+ propType: 'array'
+ }
+ ]
+ },
+ 'bool',
+ 'number',
+ 'string'
+ ]
+ }
+ },
+ description: '传入的数据源,可以动态渲染子项,详见 [dataSource的使用](#dataSource的使用)'
},
{
- name: 'onToggleHighlightItem',
- propType: 'func'
+ name: 'hasBorder',
+ propType: 'bool',
+ description: '是否有边框'
+ },
+ {
+ name: 'hasArrow',
+ propType: 'bool',
+ description: '是否有下拉箭头',
+ defaultValue: 'true'
+ },
+ {
+ name: 'showSearch',
+ propType: 'bool',
+ description: '展开后是否能搜索(tag 模式下固定为true)',
+ defaultValue: 'false'
},
{
name: 'onSearch',
- propType: 'func'
+ propType: 'func',
+ description: '当搜索框值变化时回调\n@param {String} value 数据'
},
{
name: 'onSearchClear',
- propType: 'func'
+ propType: 'func',
+ description:
+ "当搜索框值被清空时候的回调\n@param {String} actionType 触发的方式, 'select'(选择清空), 'popupClose'(弹窗关闭清空)"
+ },
+ {
+ name: 'hasSelectAll',
+ propType: {
+ type: 'oneOfType',
+ value: ['bool', 'string']
+ },
+ description: '多选模式下是否有全选功能'
+ },
+ {
+ name: 'fillProps',
+ propType: 'string',
+ description: '填充到选择框里的值的 key\b\b'
+ },
+ {
+ name: 'useDetailValue',
+ propType: 'bool',
+ description: 'onChange 返回的 value 使用 dataSource 的对象'
+ },
+ {
+ name: 'cacheValue',
+ propType: 'bool',
+ description: 'dataSource 变化的时是否保留已选的内容',
+ defaultValue: 'true'
+ },
+ {
+ name: 'valueRender',
+ propType: 'func',
+ description:
+ '渲染 Select 展现内容的方法\n@param {Object} item 渲染节点的item\n@return {ReactNode} 展现内容\n@default item => item.label \\|\\| item.value'
+ },
+ {
+ name: 'itemRender',
+ propType: 'func',
+ description:
+ '渲染 MenuItem 内容的方法\n@param {Object} item 渲染节点的item\n@param {String} searchValue 搜索关键字(如果开启搜索)\n@return {ReactNode} item node'
+ },
+ {
+ name: 'notFoundContent',
+ propType: 'node',
+ description: '弹层内容为空的文案'
+ },
+ {
+ name: 'style',
+ propType: 'object'
+ },
+ {
+ name: 'searchValue',
+ propType: 'string',
+ description: '受控搜索值,一般不需要设置\n@type {[type]}'
+ },
+ {
+ name: 'tagInline',
+ propType: 'bool',
+ description: '是否一行显示,仅在 mode 为 multiple 的时候生效',
+ defaultValue: 'false'
+ },
+ {
+ name: 'maxTagCount',
+ propType: 'number',
+ description: '最多显示多少个 tag'
+ },
+ {
+ name: 'maxTagPlaceholder',
+ propType: 'func',
+ description:
+ '隐藏多余 tag 时显示的内容,在 maxTagCount 生效时起作用\n@param {number} selectedValues 当前已选中的元素\n@param {number} totalValues 总待选元素'
+ },
+ {
+ name: 'hiddenSelected',
+ propType: 'bool',
+ description: '选择后是否立即隐藏菜单 (mode=multiple/tag 模式生效)'
},
{
name: 'onRemove',
- propType: 'func'
+ propType: 'func',
+ description: 'tag 删除回调\n@param {object} item 渲染节点的item'
},
{
name: 'onFocus',
- propType: 'func'
+ propType: 'func',
+ description: '焦点事件'
},
{
name: 'onBlur',
+ propType: 'func',
+ description: '失去焦点事件'
+ },
+ {
+ name: 'onMouseEnter',
propType: 'func'
+ },
+ {
+ name: 'onMouseLeave',
+ propType: 'func'
+ },
+ {
+ name: 'onKeyDown',
+ propType: 'func'
+ },
+ {
+ name: 'locale',
+ propType: 'object',
+ defaultValue: 'zhCN.Select'
}
- ],
+ ]
+ },
+ 'Select.Option': {
+ componentName: 'Select.Option',
+ title: '选择项',
+ devMode: 'proCode',
+ npm: {
+ package: '@alifd/next',
+ version: '1.19.18',
+ destructuring: true,
+ exportName: 'Select',
+ subName: 'Option'
+ },
+ props: [
+ {
+ name: 'value',
+ propType: {
+ type: 'any',
+ isRequired: true
+ },
+ description: '选项值'
+ },
+ {
+ name: 'disabled',
+ propType: 'bool',
+ description: '是否禁用'
+ },
+ {
+ name: 'children',
+ propType: 'any'
+ }
+ ]
}
},
componentList: [