自定义组件API文档 | [持续更新]
JarryChen 发布时间:2020-12-29 文章字数:1757 预计用时:8分47秒
# General
# 1. SvgIcon 图标
# Icon props
参数 | 说明 | 类型 | 默认值 | |
---|---|---|---|---|
iconClass |
必传, svg 的文件名
| String | ||
className | icon 额外的样式类名 | String | '' |
# Data Entry
# 2. Select 选择器
# Select Props
参数 | 说明 | 类型 | 默认值 | |
---|---|---|---|---|
value | 双向绑定的值 | String/Number/Array | ||
selectObj | 选择器整体参数obj 可在此基础上结合ant-select 文档绑定值 | Object | 参考selectObj props |
注意
如果发现下拉菜单跟随页面滚动,或者需要在其他弹层中触发 Select
,请尝试使用 getPopupContainer={triggerNode => triggerNode.parentNode}
将下拉弹层渲染节点固定在触发器的父元素中。
# Select events
参数 | 说明 | 回调参数 | |
---|---|---|---|
selectData | 下拉选中数据时的回调 | function(value, key: string) | |
change | 选择器框变化时的回调(适合v-model ) | function(value) |
# SelectObj props
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
queryValue | 用于绑定下拉的数据 | String/Number/Array | undefined |
showSearch | 开启模糊搜索 | Boolean | false |
optionsArray | 下拉的数据数组 | [{ label: value: }]: Array | [] |
placeholder | 原生 placeholder | String | --- |
key | 绑定查询obj 的key | String | '' |
maxTag | 多选模式下最多显示个数 | Number | 2 |
mode | 选择器的模式,参数详见antdv.com | String | default |
pageSize | 虚拟分页大小 | Number | 25 |
dropdownMatchSelectWidth | 下拉是否与文本框同宽 | Boolean | true |
getPopupContainer | 挂载的父节点 | function | trigger => trigger.parentNode |
- 除了以上参数外,其他参数遵从ant-design-vue Select的规范
# 3. Range 区间
# Range Props
参数 | 说明 | 类型 | 默认值 | |
---|---|---|---|---|
rangeType | 区间类型,目前仅支持数字(other)和日期(time) | String | other | |
rangeText | 第一行和第二行的文字 | String/Array | ['从', '到'] | |
beginValue | 区间开始值 | String/Number | null | |
endValue | 区间结束值 | String/Number | null | |
attr | date-picker 与input 的其他参数,遵从ant-design-vue Date-Picker Input规范 | Object | {} | |
debounce | 数字区间的去抖延时 | Number | 300 | |
keys | 开始值和结束值的key 数组,设置之后无需使用getRange 接受变量 | Array | [] |
# Range Events
参数 | 说明 | 回调参数 | |
---|---|---|---|
getRange | 将区间两个值包装成数组返回,时间已处理好格式 | function(rangeObj: Array) |
# 4. Checkbox 多选框
# Checkbox Props
参数 | 说明 | 类型 | 默认值 | |
---|---|---|---|---|
defaultValue | 多选框组的默认值 | Array | [] | |
disabled | 组件禁用,参照antdv.com | Boolean | false | |
name | 组件名字,参照antdv.com | String | pgerp-checkbox | |
options | 复选框的数组数据 | Array | ||
value | 绑定的变量值,支持v-model | Array | ||
inverse | 是否开启反选按钮 | Boolean | false | |
pageSize | 虚拟分页大小 | Number | 30 | |
showSearch | 是否开启过滤搜索 | Boolean | true |
注意
如果出现进页面时,复选框数组没出现(或者是options
太大,或者是options
是异步接口拉取的),请自行在Checkbox
上加上v-if="options.length"
,意为拿到数组了再渲染,即可解决问题。
# Checkbox Events
参数 | 说明 | 回调参数 | |
---|---|---|---|
getData |
勾选出现变化时响应的事件,如果是单个勾选有400ms 延迟
| function(value: Array) | |
change | 双向绑定时响应的事件,其他同getData | function(value: Array)) |
# 5. SearchCombine 条件组合面板
# SearchCombine Props
参数 | 说明 | 类型 | 默认值 | |
---|---|---|---|---|
queryParam | 查询参数复杂obj | Object | {} | |
visible | 条件组合面板是否可视 | Boolean | false | |
searchData | 表头组合配置的所有搜索 | Array | [] | |
preHandle | 进入界面之前的预处理,eg: 多选事先设定值 | Function | ||
right | 面板css 的右定位 | String | 305px |
# 6. Editor 编辑器
# Editor Props
参数 | 说明 | 类型 | 默认值 | ||
---|---|---|---|---|---|
content |
挂载到编辑器上的内容,支持v-model | String | |||
uploadUrl | 上传截图或者文件的远程地址 | String | '' | ||
debounce | 输入型内容的去抖延时 | Number | 500 |
# Editor Events
参数 | 说明 | 回调参数 | |
---|---|---|---|
change |
内容发生变化时,延时500ms 弹出内容
| function(val: htmlString) |
# 7. Transfer 穿梭框
# Transfer Props
参数 | 说明 | 类型 | 默认值 | ||
---|---|---|---|---|---|
transferSearch | 是否开启穿梭框自身的搜索 | Boolean | false | ||
operations | 穿梭框两个按钮的label | Array | ['添加','移除'] | ||
targetKeys | 绑定的变量值,支持v-model | Array | |||
defaultTransfer | 是否要使用默认的穿梭框内容(树) | Boolean | false | ||
locale | 穿梭框默认文本,详见antdv.com | Object |
{
itemUnit: '项',
itemsUnit: '项',
notFoundCountent: '暂无数据',
searchPlaceholder: '请输入搜索内容',
}
| ||
treeData | 默认穿梭框的树节点数据 | Array | [] | ||
filters | 树各个字段的替换 | Object | {
title: 'title',
key: 'key'
} |
# Transfer Events
参数 | 说明 | 回调参数 | |
---|---|---|---|
change |
左边列表的节点添加到右边或右边的节点移除到左边时响应,500ms 延迟
| function(val: Array) |
# Transfer Slots
参数 | 说明 | 插槽绑定(scoped-slots) | ||
---|---|---|---|---|
left-position | 不采用默认的穿梭框内容时,请自行挂载左边的内容 | { props: Object, on: Object }: Object | ||
footer | 穿梭框左右的底部自定义内容 | props: Object |
# 8. CascaderAll 组合级联
# CascaderAll Props
# CascaderAll Events
# Data Display
# 9. Comment 评论
# Comment Props
参数 | 说明 | 类型 | 默认值 | |
---|---|---|---|---|
CKEditorUrl | 用于编辑器上传图片或文件的接口地址 | String | ||
needSubPanel | 是否需要子评论面板 | Boolean | false | |
getCommentList | 拉取评论列表的接口(Promise ) | function: Promise | ||
getSubCommentList | 拉取子评论列表的接口(Promise ) | function: Promise | ||
replaceFields | 关键字段的替换 | Object | 参照replaceFields props |
# Comment Events
参数 | 说明 | 回调参数 | ||
---|---|---|---|---|
deletecomment | 点击删除评论按钮时触发,返回删除评论的id | function(id: Number) | ||
savecomment | 子评论面板中点击发表时触发,依次返回子评论对象,位于子评论面板标识,可能需要用到的其他对象,提交完需执行的回调函数 | function(param: Object, 'sub': String, item: Object, callback: Function) |
# replaceFields Props
参数 | 说明 | 类型 | 默认值 | |
---|---|---|---|---|
id | 每条评论的唯一标识 | String | id | |
content | 评论的内容 | String | comment | |
creator | 评论的发布人 | String | creator | |
time | 评论的发布时间 | String | createdDate | |
parent | 子评论的上一级的唯一标识 | String | parentCommentId |
# 10. Table 表格
# Table Props
# Table Events
# 11. Tree 树形控件
# Tree Props
参数 | 说明 | 类型 | 默认值 | |
---|---|---|---|---|
checkedKeys |
绑定的勾选(选中)变量,选中支持单选或多选,勾选只能多选,支持v-model | Array | ||
showSearch | 是否开启树的搜索过滤 | Boolean | false | |
showButtons | 是否开启树的全选全不选 | Boolean | false | |
treeData | 树节点的数据数组,需要构造层次,详见treeData props | Array | [] | |
checkable | 是否开启树的复选框勾选 | Boolean | false | |
selectable | 是否开启树结点选中 | Boolean | false | |
replaceFields | 树结点的关键字段替换,详见replaceFields props | Object | {} | |
multiple | 是否开启树节点选中(多选) | Boolean | false | |
showLine | 是否展示树节点之间的连接线 | Boolean | true | |
checkStrictly | 勾选结点是否遵循父子结点不相关联 | Boolean | false |
# Tree Events
参数 | 说明 | 回调参数 | ||
---|---|---|---|---|
change |
勾选结点,全选结点,全不选结点,选中结点都将触发,可直接v-model ,其中全选/全不选仅返回选中值数组,其他情况额外返回a-tree 弹出的对象 |
全选/全不选function(checkedkeys: Array) 单独勾选/选中 function(keys: Array, e : Object) |
# TreeData Props
参数 | 说明 | 类型 | 默认值 | |
---|---|---|---|---|
key | 树节点的值字段,用于提交到后端的数据 | String/Number | ||
title | 用于显示的树节点label | String | ||
scopedSlots | 用于搜索过滤时处理符合条件的title高亮的插槽 | Object | {title: 'title'} | |
children | 树节点的子节点数组 | Array |
# ReplaceFields Props
参数 | 说明 | 类型 | 默认值 | |
---|---|---|---|---|
key | 映射不符合要求树节点唯一标识的值字段 | String | id | |
title | 映射不符合要求树节点label 的值字段 | String | nameCn | |
children | 用于映射子节点数组的值字段 | String | children |
# 12. TreeTable 树与表格
# TreeTable Props
参数 | 说明 | 类型 | 默认值 | |
---|---|---|---|---|
pageTitle | 树与表格页面的标题 | String | '' | |
showTree(.sync) | 折叠/展开树面板 | Boolean | false |
# TreeTable Slots
参数 | 说明 | 插槽绑定(scoped-slots) |
---|---|---|
tree | 用于放置树的插槽 | |
table | 用于放置表格的插槽 |
# 13. Help 帮助面板
# Help Props
参数 | 说明 | 类型 | 默认值 | |
---|---|---|---|---|
visible | 帮助面板是否可视 | Boolean | false |
提示
帮助面板仅需挂载到BasicLayout
上即可,无需深究
# 14. ImageViewer 图片列表 (待完善)
# ImageViewer Props
参数 | 说明 | 类型 | 默认值 | |
---|---|---|---|---|
draggable | 是否开启小列表拖拽交换顺序 | Boolean | true | |
upload | 是否开启上传,false 为使用插槽自定义渲染 | Boolean | false | |
previewToolbar | 是否开启预览大图时的工具条 | Boolean | true | |
imageList(.sync) | 绑定的图片数组数据 | Array | [] | |
listTitle | 当前图片列表所属的页面名字 | String | xx选择图片 | |
uploadFunction | 用于上传文件的接口函数,返回Promise | Function | ||
firstNum | 绑定选中前firstNum 张图片 | Number | 7 | |
maxNum | 最多选中maxNum 张图片 | Number | 9 |
# ImageViewer Slots
参数 | 说明 | 插槽绑定(scoped-slots) |
---|---|---|
用于放置上传文件按钮的插槽 | list: Array |
# Layout
# 15. TabsSide 复杂页
# TabsSide Props
# TabsSide Events
# 16. BasicLayout 基础布局
# BasicLayout Props
# BasicLayout Events
# Feedback
# 17. Modal 对话框
# Modal Props
参数 | 说明 | 类型 | 默认值 | |
---|---|---|---|---|
modalProps | 弹窗Modal 的相关设置参数,参照antdv Modal Props | Object | ||
model | 传进弹窗绑定的数据对象 | Object | {} | |
formObj | 弹窗的内容渲染数组,详见formObj props | Array | [] | |
fields | 要绑定到表单上的对象key 集合 | Array | ||
formLayout | 弹窗内表单的布局对象 | Object | { labelCol: { xs: {span: 24}, sm: {span : 7}}, wrapperCol: {xs : {span : 24}, sm: {span : 13}}} |
# Modal Events
参数 | 说明 | 回调参数 | ||
---|---|---|---|---|
ok | 弹窗/表单的点击触发接口的事件回调 | function (form: Object) | ||
cancel | 弹窗关闭、取消触发的回调 | function (form: Object) |
# Modal Slots
参数 | 说明 | 插槽绑定(scoped-slots) | |
---|---|---|---|
[formItem.component.slot] |
弹窗内容渲染数组的某一项若没有绑定组件,且设置了slot 名字,则内容交由使用者渲染
| ||
content | 弹窗内容渲染数组为空,非错误的情况下代表内容整体自定义挂载 | ||
footer | 弹窗内容渲染数组为空时,底部按钮支持自定义渲染 | { ... modalProps }: Object |
# FormObj Props
# 18. TabsTop 操作菜单
# TabsTop Props
参数 | 说明 | 类型 | 默认值 | |
---|---|---|---|---|
tabsObj | 操作菜单数据 | Array | 参考tabsObj props | |
width | 操作面板的宽度 | Number/String | 420 | |
updateData | 表格的当前行数据 | Object | {} | |
count | 一行渲染多少个(1-5) | Number | 3 | |
position | 配置的操作在哪个页面要展示,适用于公共操作外其他独有操作的过滤 | String | ViewOrder |