UNPKG

magic-page-designer

Version:

magic-page-designer 是一个基于 vue 的在线页面快速开发平台,主要把所有的 vue 代码都改为在线配置,最终获得一个 json 格式的页面,你可以把它存放到服务器的任何地方:数据库、静态文件、redis 等。最方便的是可以在线修改页面,再也不用担心生产出问题了,还得打开 IDE,修改测试打包,直接在线编码,所见即所得。还可以配合 [magic-api](https://gitee.com/ssssssss-team/magic-api) 使用,完全抛弃 IDE,随时随地 code w

329 lines (325 loc) 8.92 kB
import { PageDom, ConfigDetailType } from '@/library/page-object' import { getBooleanSelect, getSizeSelect } from '@/library/ant' const groupName: Array<string> = ['样式'] const data: PageDom = { id: 'a-select', title: '选择器', mpdConfig: { slot: [] }, ext: { componentConfig: [ { type: 'attr', title: 'options数据', name: 'options', help: '如果设置则不需要手动构造 selectOption 节点。array<{value, label, [disabled, key, title]}>' }, { type: 'attr', title: '提示信息', name: 'placeholder', group: 'general' }, { type: 'attr', title: '支持清除', name: 'allowClear', group: 'general', inputList: [getBooleanSelect()] }, { type: 'attr', name: 'autoClearSearchValue', help: '是否在选中项后清空搜索框,只在 mode 为 multiple 或 tags 时有效。', inputList: [getBooleanSelect()] }, { type: 'attr', title: '默认获取焦点', name: 'autoFocus', inputList: [getBooleanSelect()] }, { type: 'attr', name: 'defaultActiveFirstOption', help: '是否默认高亮第一个选项', inputList: [getBooleanSelect()] }, { type: 'attr', title: '指定默认选中的条目', name: 'defaultValue' }, { type: 'attr', title: '是否禁用', name: 'disabled', group: 'general', inputList: [getBooleanSelect()] }, { type: 'attr', name: 'dropdownClassName', group: groupName[0], help: '下拉菜单的 className 属性' }, { type: 'attr', title: '下拉菜单和选择器同宽', name: 'dropdownMatchSelectWidth', group: groupName[0], inputList: [getBooleanSelect()] }, { type: 'attr', title: '自定义下拉框内容', name: 'dropdownRender' }, { type: 'attr', title: '下拉菜单的style属性', group: groupName[0], name: 'dropdownStyle' }, { type: 'attr', title: 'dropdown菜单自定义样式', group: groupName[0], name: 'dropdownMenuStyle' }, { type: 'attr', title: '是否根据输入项进行筛选', name: 'filterOption', help: '当其为一个函数时,会接收 inputValue option 两个参数,当 option 符合筛选条件时,应返回 true,反之则返回 false。', inputList: [getBooleanSelect()] }, { type: 'attr', title: '默认高亮的选项', name: 'firstActiveValue' }, { type: 'attr', title: '菜单渲染父节点', name: 'getPopupContainer', group: groupName[0], help: '默认渲染到 body 上,如果你遇到菜单滚动定位问题,试试修改为滚动的区域,并相对其定位' }, { type: 'attr', name: 'labelInValue', help: '是否把每个选项的 label 包装到 value 中,会把 Select 的 value 类型从 string 变为 {key: string, label: vNodes} 的格式' }, { type: 'attr', title: '最多显示多少个tag', name: 'maxTagCount', inputList: [ { title: '数字框', component: ConfigDetailType.InputNumber } ] }, { type: 'attr', title: '隐藏tag时显示的内容', name: 'maxTagPlaceholder' }, { type: 'attr', title: '最大显示的tag文本长度', name: 'maxTagTextLength', inputList: [ { title: '数字框', component: ConfigDetailType.InputNumber } ] }, { type: 'attr', title: 'Select的模式', name: 'mode', group: 'general', help: '设置 Select 的模式为多选或标签', inputList: [ { title: 'Select', component: ConfigDetailType.Select, attr: { allowClear: true, options: [ { value: 'default', label: 'default' }, { value: 'multiple', label: 'multiple' }, { value: 'tags', label: 'tags' }, { value: 'combobox', label: 'combobox' } ] } } ] }, { type: 'attr', title: '下拉列表为空时的内容', name: 'notFoundContent' }, { type: 'attr', name: 'optionFilterProp', help: '搜索时过滤对应的 option 属性,如设置为 children 表示对内嵌内容进行搜索' }, { type: 'attr', name: 'optionLabelProp', help: '回填到选择框的 Option 的属性值,默认是 Option 的子元素。比如在子元素需要高亮效果时,此值可以设为 value。(combobox 模式下为 value)' }, { type: 'attr', title: '使单选模式可搜索', name: 'showSearch', inputList: [getBooleanSelect()] }, { type: 'attr', title: '是否显示下拉小箭头', name: 'showArrow', inputList: [getBooleanSelect()] }, { type: 'attr', title: '选择框大小', name: 'size', group: 'general', inputList: [getSizeSelect()] }, { type: 'attr', title: '选择框后缀图标', name: 'suffixIcon', group: groupName[0], help: 'VNode | slot' }, { type: 'attr', title: '多选框清除图标', name: 'removeIcon', group: groupName[0], help: 'VNode | slot' }, { type: 'attr', title: '多选框清空图标', name: 'clearIcon', group: groupName[0], help: 'VNode | slot' }, { type: 'attr', title: '选中的条目图标', name: 'menuItemSelectedIcon', group: groupName[0], help: 'VNode | slot' }, { type: 'attr', name: 'tokenSeparators', group: groupName[0], help: 'string[],在 tags 和 multiple 模式下自动分词的分隔符' }, { type: 'model', title: '选中的条目', name: 'value' }, { type: 'attr', title: '是否默认展开下拉菜单', name: 'defaultOpen', inputList: [getBooleanSelect()] }, { type: 'attr', title: '是否展开下拉菜单', name: 'open', inputList: [getBooleanSelect()] }, { type: 'event', title: '失去焦点时回调', name: 'blur' }, { type: 'event', title: '值变化时回调', name: 'change', help: '选中 option,或 input 的 value 变化(combobox 模式下)时,调用此函数' }, { type: 'event', title: '取消选中时回调', name: 'deselect', help: '参数为选中项的 value (或 key) 值,仅在 multiple 或 tags 模式下生效' }, { type: 'event', title: '获得焦点时回调', name: 'focus' }, { type: 'event', title: '键盘按下时回调', name: 'inputKeydown' }, { type: 'event', title: '鼠标移入时回调', name: 'mouseenter' }, { type: 'event', title: '鼠标移出时回调', name: 'mouseleave' }, { type: 'event', title: '下拉列表滚动时的回调', name: 'popupScroll' }, { type: 'event', title: '文本框值变化时回调', name: 'search' }, { type: 'event', title: '被选中时调用', name: 'select', help: '参数为选中项的 value (或 key) 值' }, { type: 'event', title: '展开下拉菜单的回调', name: 'dropdownVisibleChange' } ] } } export default data