1.1.7 • Published 2 years ago

cmui-common v1.1.7

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

cmui-common

一、 安装与使用

yarn add cmui-common --save

如果要删除模块
yarn remove cmui-common

1 全局引入cmui-common

在入口main.js中

import Vue from 'vue'
import CmuiCommon from 'cmui-common'
Vue.use(CmuiCommon)

后续组件可以直接如下使用,而不用在当前vue组件中进行import然后注册

<im-tree></im-tree>

2 局部按需引入单个组件

<im-tree></im-tree>
...

import {ImTree} from "cmui-common"
export default {
	components: {ImTree}
}

组件api说明文档

1 基础扩展组件

按钮

/* 添加 */
<button-add />
/* 取消 */
<button-cancel />
/* 删除 */
<button-delete />
/* 编辑 */
<button-edit />
/* 保存 */
<button-save />
/* 查询 */
<button-search />

2 树组件

普通树

在element-ui树形组件el-tree基础上拓展,基本属性,事件,方法请参考:https://element.eleme.cn/#/zh-CN/component/tree#props

拓展功能:远程url加载,数据适配,节点图标,数据过滤

使用方法:

<im-tree url="http://"></im-tree> 
or
<im-tree :model="[]"></im-tree>

以下列出了拓展的属性说明

props

参数说明类型默认值
url远程加载数据的请求地址String-
query请求附加的查询参数(get),根据需求配置String-
method请求方式StringGET
ajax-request-cache请求地址是否缓存Booleantrue
request-data-root请求数据根,暂时请使用read-property支持读取数据的一级根String-
read-property请求数据json的哪个属性作为树的数据源(数组)Stringdata
request如果定义了此函数,在配置url情况下会调用此函数加载数据,返回AxiosPromise类型Function-
tool-options是否显示工具栏上的过滤搜索组件,并提供全部展开和全部折叠图标按钮Array-
operations节点右侧操作按钮图标{icon: 'icon-edit', handler: edit},{text: '保存', handler: edit},{text: '删除', handler: delete, onShow: ifShow}Array
model静态模型数据,当配置了url时会忽略静态数据加载,除了支持树型数据外,也支持原始表格数据(通过id-key和parent-key关联)Array-
id-key主键标识 , 如果不设置,数据中必须有id属性Stringid
title-key数据中哪个字段作为显示文本的key,如果不设置默认labelStringlabel
parent-key数据中哪个字段作为建立父子关系的标识, 当数据类型是树状结构时可以不设置此字段Stringpid
children-key数据中哪个字段作为建立父子关系的标识,当数据类型是表格结构时可以不设置此字段Stringchildren
show-icon是否在节点前面显示图标,如果要修改父子节点图标,可以通过folder-icon和leaf-icon属性指定,如果数据中有icon属性会以数据中的icon属性为准Booleanfalse
folder-icon文件夹图标(判定标准为是否含有子节点)Stringel-icon-folder
leaf-icon子节点图标Stringel-icon-document

events

方法名说明参数参数说明
node-click节点单击事件(data, node)data是节点数据,node是内置节点对象
node-dblclick节点双击事件(data, node)data是节点数据,node是内置节点对象
current-change当前选择变化(data, node)data是节点数据,node是内置节点对象
on-load-before远程请求加载前事件,可以自定义参数(params, requestConfig)requestConfig可以配置自定义的请求头如token等
on-load请求完成事件(result)后台响应json数据
on-data-rendered数据处理完成事件(result)后台响应json数据
on-load-success最后加载成功事件(tree)树对象

methods

方法名说明参数参数说明
toggleExpand全部展开或全部折叠()-
getOriginalTree获取内置el-tree对象()-
getTreeData获取树型数据()-
select选中节点,需要设置id-key(val)主键id或者节点对象
getSelectedKey获取选择节点的主键,需要设置id-key()-
getSelected获取选择的节点对象Node()-
getSelectedLabel获取选择节点的显示的文本()树对象
getCheckedKeys获取所有勾选了复选框的主键集合(leafOnly)leafOnly标识是否只返回叶子节点
getCheckedNodes获取所有勾选了复选框的节点集合(leafOnly)leafOnly标识是否只返回叶子节点
getCheckedLabels获取所有勾选了复选框的显示文本集合(leafOnly)leafOnly标识是否只返回叶子节点
setCheckedKeys设置指定节点复选框选中,使用此方法必须设置 id-key 属性(keys, leafOnly)-
setCheckedNodes设置指定节点复选框选中,使用此方法必须设置 id-key 属性(nodes, leafOnly)-
setChecked通过 key / data 设置某个节点的勾选状态,使用此方法必须设置 id-key 属性(data, checked, deep)-
filter触发过滤操作(val)入参字符串,过滤的关键字
reload远程重新加载刷新()
clear清除数据()

原始表格数据结构参考

     [
        {id: 1, title: "全国"},
        {id: 2, title: "北京", parentId: 1},
        {id: 3, title: "河北", parentId: 1}
        {id: 4, title: "海淀区", parentId: 2}
     ]

下拉树

实际上是下拉控件+树形组件组合

使用方法:

<im-select-tree url="http://" v-model="val"></im-select-tree> 
or
<im-select-tree :model="[]" v-model="val"></im-select-tree>

下拉树中与树有关的属性配置完全参考im-tree,以下拓展属性说明

props

参数说明类型默认值
width下拉树控件的宽度,单位px,如果要使用百分比可以配置style="width:100%;"Number-
value / v-model下拉树绑定的值String, Number, Array-
readonly是否只读,如果只读点击控件不会弹出Booleanfalse
filter-on-input是否在下拉控件中的文本框中支持搜索过滤Booleanfalse
placeholder下拉控件未选择时占用提示文本String请选择
multiple是否支持多选,如果多选,绑定的值为数组Booleanfalse
multiple-tags多选选择后是否以标签形式展现Booleanfalse
max-content-height下拉弹出的dom的最大高度,单位px,如果超过则显示滚动条,如果不配置将根据数据量显示实际高度Number-
fixed-position当因为层级因素导致下拉树被遮挡时,可设置此属性Booleanfalse

events

参考im-tree,以下拓展事件

方法名说明参数参数说明
on-change节点单击事件(val, oldVal, currentText)val是绑定值, currentText 是当前选择的文本

methods

方法名说明参数参数说明
clear清除数据()
getText获取下拉树选择的文本()-
getValue获取下拉树绑定的值()-
getTreeValue同getValue()
getSelected获取选择的节点对象()-
load重新加载数据(配置url场景下)()

3 表格组件

在element-ui表格组件el-table基础上拓展,基本属性,事件,方法请参考:https://element.eleme.cn/#/zh-CN/component/table

拓展功能:远程url加载,数据适配,分页控件集成, 字段维护(动态字段,字段交换排序,字段隐藏显示),海量数据(受限于内存)虚拟滚动加载,slot拓展

使用方法:

<im-table url="http://" :columns="columns"></im-table> 
or
<im-table :model="[]" :columns="columns"></im-table>

props

参数说明类型默认值
url远程加载数据的请求地址String-
query请求附加的查询参数(get),根据需求配置String-
method请求方式StringGET
ajax-request-cache请求地址是否缓存Booleantrue
request-data-root请求数据根,支持多级表达式如: 'res.data.list'String-
read-property请求数据根下的哪个属性作为树的数据源(数组)Stringdata
request如果定义了此函数,在配置url情况下会调用此函数加载数据,返回AxiosPromise类型Function-
pagination是否显示分页控件,可以简单的配置true或者对象如:pagination="{total: 'total', currentPage: 'page', pageSize: 'size'}"去适配远程数据Object,Boolean,String-
enable-page-selection是否启用翻页选中功能,必须配置id-key有效,翻页时记录当前页选择的keys集合Booleanfalse
model静态模型数据,当配置了url时会忽略静态数据加载Array-
id-key数据中id属性,可选Stringid
fit-height在定义了表格高度的情况下撑满表格高度,如果有分页控件会置底Booleanfalse
sortable开启行拖拽改变数据顺序功能Booleanfalse
columns-sortable开启列拖拽改变列顺序功能Booleanfalse
enable-hide-columns开启列维护功能,可以修改要显示或隐藏的列列表Booleanfalse
size当配置为mini,配合fixed-row-height会固定行高度为25pxString-
fixed-row-height是否固定行高,如果开启后,即使某列的数据很多超出默认行高,也不会折行显示,但是会显示不全,如果要看完整的信息,需要配合slot自定义tooltipBooleanfalse
enable-virtual-scroll开启虚拟滚动,支持海量数据滚动渲染Booleanfalse
virtual-flow-limit流水数据最大限制,虚拟滚动场景下,支持定时或者实时往列表push数据,并置顶显示,类似告警流水窗口,如果做了限制,在达到指定数据后会从尾部清除数据,保证数量上限Booleanfalse

events

方法名说明参数参数说明
on-load-before远程请求加载前事件,可以自定义参数(params, requestConfig)requestConfig可以配置自定义的请求头如token等
on-load-success最后加载成功事件(tree)树对象
on-pagesize-change分页大小改变事件(currentPage,pageSize,query)
on-page-load分页页码变化事件(currentPage,pageSize,query)

4 布局组件

边框布局

上右下左中布局(东南西北中布局)

5 右键菜单

1.1.7

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1-test

3 years ago

1.0.0-test

3 years ago

1.0.7-beta1

3 years ago