Skip to content

内置组件

页面级组件

该类型组件适用于 menu 中的末级页面,即当前页面下没有 children 的页面。

dataTable

数据表格,最常用组件之一,用于列表展示数据信息,集成分页、查询等功能。

除了 menu 中的公用配置外,dataTable 还支持以下私有配置:

字段数据类型含义备注
totalUrlstring单独获取总条数的接口TODO 每当查询条件改变时,携带查询条件重新请求此接口

该组件在加载时,会自动向同路径接口发起 GET 请求,获取表格数据及相关配置。返回内容如下:

js
// query
{
    page: 1,
    limit: 10
}
js
{
    code: 200, message: "",
    data: {
        data: [],
        fields: [],
        search: [],
        advSearch: [],
        filters: [],
        total: 0
    }
}
字段数据类型含义备注
dataobject[]表格数据
fieldsobject[]表头数据
searchobject[]简单查询
advSearchobject[]高级查询
filtersobject[]固定过滤
totalnumber数据总条数TODO 单独配接口返回数据条数

data

根据实际业务返回数据即可,如:

js
[
    {id: 'xxx', title: '', description: '', thumb: '', author: '', create_at:'', update_at: ''}
]

fields

根据实际业务数据,按下面的格式返回即可。若不返回此项,则会拿 data 中第一条数据的 key 做表头。

js
[
    {key: 'id', lable: '编号'},
    {key: 'title', lable: '标题'}
]
字段数据类型含义备注
keystring字段名称需与 data 中字段匹配
labelstring显示名称
componentstring内置组件名称详见通用组件 field

基础搜索,返回数据格式如下:

js
[
    {key: '', label: '', placeholder: ''}
]
字段数据类型含义备注
keystring要搜索的字段名称同 data 中的 key
labelstring显示名称
componentstring内置组件请参考 通用组件 form

advSearch

高级搜索,以侧边滑出表单的形式展现。入口在基础搜索中,所以使用高级搜索前请先配置基础搜索。

高级搜索的数据格式与基础搜索一样。同样也是使用的 通用的 form 组件,这里不再赘述。

filters

固定过滤, 此配置项可独立使用,无需开启搜索或高级搜索。返回数据格式如下:

js
[
    {label: '', query: {}}
]
字段数据类型含义备注
labelstring显示名称
queryobject查询参数如:{category: '3'}
过滤 category 为 ‘3’ 的数据。
多个条件以 and 形式连接。

父级组件

该类型组件适用于 menu 中非末级页面。

目前还没有父级组件。

操作级组件

该类型组件适用于 menu 中的操作项 actions

confirm

“确认操作“组件,常用于删除前的二次确认。

除了通用的 actions 配置外,还支持以下私有配置:

js
[
    message: '',
    color: '',
    local: {}
]
字段数据类型含义备注
messagestring二次确认的文本内容
colorstring颜色支持 主题配色 的所有颜色。
localobject语言包{cancel: '', submit: ''}

该组件目前不会拉取任何接口数据。

该组件会向同路径接口 POST 提交 query 中配置的 key 及相关的 value,如:

js
// query params
{ id: '' }	// query: ['id']

detail

详情组件,会以数据表的形式展示当前数据详情。

除了通用的 actions 配置外,还支持以下私有配置:

js
[
    local: {}
]
字段数据类型含义备注
localobject语言包{label: '', value: '', close: ''}

该组件加载时会携带 query 中配置的参数,自动 GET 请求同路径接口,获取数据详情及表头数据。如下:

js
// query params
{id: 'x'}	// query: ['id']
js
{
    code: 200, message: '',
    data: {
        data: [],
        fields: []
    }
}
字段数据类型含义备注
dataobject表格数据如: {id: '', name: ''}
fieldsobject[]表头数据dataTable 的 fields

该组件没有提交操作。

form

表单组件,常用于添加或编辑操作。除了通用的 actions 配置外,还支持以下私有配置:

js
[
    local: {}
]
字段数据类型含义备注
localobject语言包{submit: '', cancel: ''}

该组件加载时会携带 query 中配置的参数,自动 GET 请求同路径接口,获取数据详情及表头数据。如下:

js
// query params
{id: 'x'}	// query: ['id']
js
{
    code: 200, message: '',
    data: {
        data: [],
        fields: []
    }
}
字段数据类型含义备注
dataobject[]表单数据表单数据,{key: value} 形式,
如不返回则不为表单赋值。
fieldsobject[]表单项配置请参考 通用组件 form

该组件会向同路径接口 POST 提交表单数据,同时携带 query 中配置的 GET 参数,如:

js
// query params
{ id: 'x' }	// query: ['id']

// post body
{ id: 'x', name: 'y', age: 'z' }

通用组件

form

表单组件,通用配置项如下:

js
{
    key: '', label: '', placeholder: '', required: false, valids: [], component: ''
}
字段数据类型含义备注
keystring字段名称
labelstring显示名称
placeholderstring占位符信息
requiredboolean是否必填TODO 还没完全处理好
validsobject[]表单验证规则TODO 还没完全处理好
componentstring内置组件

input

默认的表单组件,未指定组件时会以 input 组件渲染。

textarea

多行文本组件,除了支持上面通用配置项外还支持以下内容:

js
{
    rows: 3, autoresize: false, maxrows: 0
}
字段数据类型含义备注
rowsnumber | string行数默认值为 3
autoresizeboolean根据内容,自动调整高度设置 autoresize 后,
如果内容超过 rows 设置的行数,
组件高度会随内容自动变高。
maxrowsnumber | string最大行数此项能控制 autoresize 的最大行数,
默认为 0 不限。

select

下拉菜单,除了支持上面通用配置项外还支持以下内容:

js
{
    options: [], multiple: false
}
字段数据类型含义备注
optionsobject[]菜单候选项{label: '', value: ''}
multipleboolean多选默认 false
异步获取菜单候选项TODO
异步查询菜单候选项TODO
可创建菜单项TODO

date

日期选择组件,除了支持上面通用配置项外还支持以下内容:

js
{
    format: '', showFormat: ''
}
字段数据类型含义备注
formatstring日期格式默认为 yyyy-MM-dd
具体含义可参考这里
showFormatstring显示的格式这个是在页面上显示时的格式,
未定义则按 format 显示。

dateRange

日期范围选择组件,跟 date 组件的配置项完全一样,只不过此组件的值不是 string,而是 object:

js
{
    start: '', end: ''
}

wangEditor

富文本编辑器,基于 wangEditor 实现。除了支持上面通用配置项外还支持以下内容:

js
{
    mode: 'default', toolbarConfig: {}, editorConfig: {}
}
字段数据类型含义备注
modestring编辑器模式默认为 default 可选值: simple
toolbarConfigobject工具栏配置请参考官方文档
editorConfigobject编辑器配置请参考官方文档

field

针对单字段的渲染再处理。比如把一个图像地址,显示为一个 32x32 的图片;或者把一个状态值显示为可读的状态。

注意:

目前组件过少,配置项暂时不稳定!

enum

枚举,常用于把状态值显示为成可读内容。如:

js
{
    component: 'enum',
    items: [
		{label: '男', value: '1'},	// 当前字段值为1,则显示“男”
		{label: '女', value: '2', color: 'red', variant: 'soft'},
		{label: '未知', value: '0'},
    ]
}

detail

弹窗显示详情,同 actions 中的 detail