# plug **Repository Path**: git-mmkk/plug ## Basic Information - **Project Name**: plug - **Description**: 组件 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-09-17 - **Last Updated**: 2021-09-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README **引入:** ```javascript npm i mmkk-plug -S ``` **** **.vue:** ```javascript import { btnBar, tableBar, formBar } from 'mmkk-plug' components: { formBar, tableBar, btnBar }, ``` **** **按钮 参数:** | 字段 | 注释 | 类型 | 必传 | 默认 | |:---- |:------- |:--- |:---|:------ | | btnList | 按钮列表 | Array | 是 | [] | | isAuthority | 是否启用权限 | Boolean | 否 | true | - 备注:isAuthority 默认启用权限,使用的数据源为接口返回的数据列表 **按钮 btnList参数:** | 字段 | 注释 | 类型 | 必传 | 默认 | |:---- |:------- |:--- |---|------ | | label | 按钮名称 | String | 是 | '' | | value | 按钮对应值 | String/Number |是 | '' | | icon | 图标 | String | 否 | '' | | type | 按钮类型 | String | 否 | '' | | size | 按钮大小 | String | 否 | '' | **** **表单 参数:** |字段|说明|类型|必传|默认| | :------------:| :------------:| :------------:| :------------:| :------------:| |formStyle | form表单的样式及相关参数 |Object |否 | {} | |formButton | 表单的按钮 |Object |否 | {} | |formData | form表单的值,用于编辑表单的赋值时传入,默认值不建议使用此参数,该方式传递默认值会被清空,请使用formItem中的value传递默认参数 |Object |否 | {} | |formItem | form表单项、表单元素 |Object |是 | {} | **表单 formStyle参数:** |字段|说明|类型|必传|默认| | :------------: | :------------: | :------------:| :------------:| :------------:| |lableWidth | 表单域标签的宽度|String|否 | '80px' | |inline | 一行内显示一个表单项 ( 查询表单默认是一行显示多个,只有在添加或编辑等表单会需要传此参数)|Boolean |否 | false | |labelPosition | 表单域标签的对齐方向|String |否 |'right' | |size | 用于控制该表单内组件的尺寸 |String |否 | 'small' | **表单 formButton参数:** |字段|说明|类型|必传|默认| | :------------:| :------------:| :------------:| :------------:| :------------:| |btnShow | 是否使用按钮组件 (传递true后或显示查询和重置两个按钮,用于查询表单) |Boolean |否 | false | |col | 按钮区域的排列 |Array |否 | [4,6,8,12,24] | |list | 表单的其他按钮(此处按钮是没有权限验证的,需要 权限验证的按钮需要放在按钮组件中 ) |Array |否 | [] | |list - label | 按钮名称 |String |否 | ''| |list - value | 按钮标识 |String/Number |否 | '' | **表单 formItem参数-公共:** |字段|说明|类型|必传|默认| | :------------:| :------------:| :------------:| :------------:| :------------:| |itemtype | 表单项类型,详见下表 【表单项类型参数】 |String |是 | '' | |label | 表单标签文本 |String |是 | '' | |value | 表单标签文本 |String |否 | '' | |col | 表单项排列 |Array |否 | [4,6,8,12,24] | |isShow | 表单项是否显示 |Boolean |否 | true | |id | 表单项key,表格项有变化或者表单项像是隐藏时需要此id |Number |否 | '' | |value | 表单标签文本 |String |否 | '' | |lableWidth | 表单域标签的宽度 |String |否 | '80px'| |rules | 表单验证条件 |Array |否 | [] | |clearable | 是否显示清空按钮 |Boolean |否 | true | |placeholder | 占位提示语 |String |否 | '请输入/请选择' + label | |disabled | 是否可编辑 |Boolean |否 | false | **表单 表单项类型参数 :** |类型|说明| | :------------:| :------------:| |label | 展示框 | |input | 文本输入框 | |select | 下拉选择框 | |date | 日期时间段选择 | |number | 数字输入框 | |switch | 开关 | |cascader | 级联选择器 | |radio | 单选 | |checkbox | 多选 | |upload | 图片/文件上传 | |inputNumber | 文本输入框-只可输入数字 | |groupNumber | 数组输入框-区间输入 | |groupInput | 文本输入框-区间输入 | |slot | 插槽 | **formItem参数-input:** |字段|说明|类型|必传|默认| | :------------:| :------------:| :------------:| :------------:| :------------:| |type | 原生属性 text,textarea 等 |String |否 | '' | |maxlength | 最大输入数 |String |否 | '' | |showPassword | 是否显示切换密码图标 |Boolean |否 | false | ****示例:**** ```javascript { itemtype: 'input', label: '关键字', maxlength: 10, placeholder: '请输入用户昵称/账号/姓名', col: [6, 8, 12, 24, 24] } ``` **表单 formItem参数-select:** |字段|说明|类型|必传|默认| | :------------:| :------------:| :------------:| :------------:| :------------:| |option | 选择框数据列 |Array/String |是 | [] | |valueName | option中的显示内容属性名称。 |String |否 | '' | |lableName | option中的值属性名称。 |String |否 | '' | |collapseTags | 多选时是否将选中值按文字的形式展示 |Boolean |否 |false | |multiple | 是否多选 |Boolean |否 |false | |filterable | 是否可搜索 |Boolean |否 | false | |allowCreate | 是否允许用户创建新条目,需配合 filterable 使用 |Boolean |否 | false | |defaultFirstOption | 在输入框按下回车,选择第一个匹配项 |Boolean |否 | false | |valueKey | 如果 Select 的绑定值为对象类型,请务必指定 value-key 作为它的唯一性标识。 |String |否 | '' | ****示例:**** ```javascript { itemtype: 'select', label: '状态', option: [ { label: '全部', value: '' }, { label: '启用', value: 10 }, { label: '禁用', value: 20 } ], placeholder: '用户状态', col: [6, 8, 12, 24, 24] } ``` - 备注:option参数比较复杂,分三种情况,文档推荐直接传递数组一种形式 **表单 formItem参数-date:** |字段|说明|类型|必传|默认| | :------------:| :------------:| :------------:| :------------:| :------------:| |type | 时间选择框类型 year/month/date/week/ datetime/datetimerange/daterange |String |否 | 'date ' | |format | 可选,绑定值的格式。不指定则绑定值为 Date 对象 |String |否 | '' | ****示例:**** ```javascript { itemtype: 'date', label: '创建时间', type: 'datetimerange', col: [6, 16, 12, 24, 24] } ``` **表单 formItem参数-number:** |字段|说明|类型|必传|默认| | :------------:| :------------:| :------------:| :------------:| :------------:| |controls | 是否使用控制按钮 |Boolean |否 | false| |controlsposition | 控制按钮位置 |String |否 | 'right' | |precision | 数值精度 |Number |否 | 0 | |step | 计数器步长 |Number |否 | 0 | |max | 最大值 |Number |否 | Infinity | |min | 控制按钮位置 |Number |否 | 0 | |unit | 单位 |String |否 | '' | **表单 formItem参数-switch:** |字段|说明|类型|空|默认| | :------------:| :------------:| :------------:| :------------:| :------------:| |activeValue | switch 打开时的值 |boolean / string / number |否 | 1 | |inactiveValue | switch 关闭时的值 |boolean / string / number |否 | 0 | **表单 formItem参数-cascader:** |字段|说明|类型|必传|默认| | :------------:| :------------:| :------------:| :------------:| :------------:| |option | 选择框数据列 |Array/String |是 | [] | |filterable | 是否可搜索 |Boolean |否 | false | |checkStrictly | 是否严格的遵守父子节点不互相关联。 |Boolean |否 |false | |valueName | option中的显示内容属性名称。 |String |否 | '' | |lableName | option中的值属性名称。 |String |否 | '' | |multiple | 是否多选 |Boolean |否 |false | |emitPath | 在选中节点改变时,是否返回由该节点所在的各级菜单的值所组成的数组,若设置 false,则只返回该节点的值 |Boolean |否 |false | - 备注:option参数比较复杂,分三种情况,文档推荐直接传递数组一种形式 **表单 formItem参数-radio/checkbox:** |字段|说明|类型|必传|默认| | :------------:| :------------:| :------------:| :------------:| :------------:| |option | 选择框数据列 |Array |是 | [] | **formItem参数-upload:** |字段|说明|类型|必传|默认| | :------------:| :------------:| :------------:| :------------:| :------------:| |accept | 接受上传的文件类型(thumbnail-mode 模式下此参数无效 .xls,.xlsx .png, .jpg) |String |是 | '' | |limit | 最大允许上传个数 |Number |否 | '' | |fileList | 上传的文件列表, 例如: [{name: 'food.jpg', url: 'https://xxx.cdn.com/xxx.jpg'}] |Array |否 | [] | |tip | 提示内容 |String |否 | '' | **表单 formItem参数-groupNumber:** |字段|说明|类型|必传|默认| | :------------:| :------------:| :------------:| :------------:| :------------:| |controls | 是否使用控制按钮 |Boolean |否 | false| |controlsposition | 控制按钮位置 |String |否 | 'right' | |precision | 数值精度 |Number |否 | 0 | |numberMax | 最大值 |Number |否 | Infinity | |min | 控制按钮位置 |Number |否 | 0 | |prop1 | 起始值属性名称 |String |否 | 0 | |prop2 | 终止值属性名称 |String |否 | '' | **表单 formItem参数-slot:** |字段|说明|类型|必传|默认| | :------------:| :------------:| :------------:| :------------:| :------------:| |style | 样式 |Array |是 | {} | ****示例:**** ```javascript { itemtype: 'slot', label: '门店', heightAuto: true, col: [6, 16, 12, 24, 24], style: { 'height': 'auto !important' } } ``` **** **表单 事件** |字段|说明|返回参数| | :------------:| :------------:| :------------:| :------------:| :------------:| |formClick | 返回通过验证的form对象 | form, item, row, index| |formChange | 公共触发事件 change事件 |val, item, form| |uploadCallback | 覆盖默认的上传行为,可以自定义上传的实现 |file| |uploadRemove | 删除文件 |file| **表单 formClick事件返回参数说明** |字段|说明|类型| | :------------:| :------------:| :------------:| |form | 表单对象 | Object | |item | 按钮对象 两个默认按钮 0:重置 1:查询 其他的类型是需要传入的 牢记传入的类型不可为0和1 | Object | |row | 传入的按钮对象,传入按钮参数会返回 | Object | |index | 传入的按钮角标,传入按钮参数会返回 | Object | **表单 父组件可调用方法** |字段|说明|类型| | :------------:| :------------:| :------------:| |forceUpdate | 表单重绘 更新 | function | |formClear | 表单清空 | function | |formReset | 表单重置 | function | |formCreated | 表单数据重新转换,用于编辑表单赋值不成功的情况 | function | **表单 父组件可调用其他操作** - 父组件获取表单数据 this.$refs.组件ref.form - 父组件获取表单通过验证的数据结果 ```javascript this.$refs.组件ref.$refs.form.validate(valid => { if (valid) { 通过验证 } else { console.log('表单验证失败') return false } }) ``` **** ****表单 示例**** ```html ``` ```javascript formItem: { searchWord: { itemtype: 'input', label: '关键字', // maxlength: 10, placeholder: '请输入用户昵称/账号/姓名', col: [6, 8, 12, 24, 24] }, status: { itemtype: 'select', label: '状态', option: [ { label: '全部', value: '' }, { label: '启用', value: 10 }, { label: '禁用', value: 20 } ], placeholder: '用户状态', col: [6, 8, 12, 24, 24] }, storeIds: { itemtype: 'slot', label: '门店', heightAuto: true, col: [6, 16, 12, 24, 24], style: { 'height': 'auto !important' } }, startTime: { itemtype: 'date', label: '创建时间', type: 'datetimerange', col: [6, 16, 12, 24, 24] } }, formButton: { btnShow: true, col: [6, 8, 12, 24, 24] }, ``` **** **表格 参数:** |字段|注释|类型|必传|默认| |:---- |:------- |:--- |---|------ | |dataList | 数据列表 |Array |是 | [] | |tableColumn | 表格表头及设置 |Array |是 | [] | |operationbtn | 操作列按钮 |Array |否 | [] | |operationWidth | 列宽度 |String |否 | '120px' | |numberSerial | 是否显示序号 |Boolean |否 |false | |selection | 是否显示选择框 |Boolean |否 |false | |tableOption | 是否启用表格列操作按钮 |Boolean |否 |false | |total | 分页总条数 |Boolean |否 |false | |paging | 分页配置 |Object |否 |{} | |tableHelght | 表格用于计算高度差值 |Number |否 | 0 | |rowKey | 折叠表格设置key值 |String |否 | 'id' | |errorMsg | 页面错误提示 |String |否 | '暂无数据' | |isAuthority | 是否使用权限 |Boolean |否 |false | |isSkeleton | 是否使用骨架屏 |Boolean |否 |false | - 备注:isAuthority 默认启用权限,使用的数据源为接口返回的数据列表 **表格 tableColumn参数:** |字段|注释|类型|必传|默认| |:---- |:------- |:--- |---|------ | |label | 列名称 |String |是 | '' | |prop | 列名称对应的数据属性名 |String |是 | '' | |width | 列宽度 |String |否 | '' | |showTooltip | 超出隐藏并悬浮提示 |String |否 | '' | |align | 数据对齐方式 |String |否 | 'center' | |headerAlign | 表头对齐方式 |String |否 | 'center' | |sortable | 对应列是否可以排序 true, false, 'custom' |Boolean/String |否 | 'false | |fixed | 列是否固定在左侧或者右侧,true 表示固定在左侧 |String |否 | true | |filter | 根据数据展示相应的文字 建议使用slot |Array |否 | [] | |copy | 是否使用复制 |Boolean |否 | false | |link | 是否使用超链接跳转 |Boolean |否 | false | |img | 是否使用图片展示 |Boolean |否 | false | |slot | 是否使用slot |Boolean |否 | false | **表格 tableColumn参数 - filter:** |字段|注释|类型|必传|默认| |:---- |:------- |:--- |---|------ | |value | 需要转义的值 |String |是 | '' | |lable | 将值转义成的字符串 |String |是 | '' | **表格 operationbtn参数:** |字段|注释|类型|必传|默认| |:---- |:------- |:--- |---|------ | |filter | 根据数据展示相应的文字 建议使用slot |Array |否 | [] | |slot | 是否使用slot |Boolean |否 | false | |label | 按钮名称 |String |是 | '' | |value | 按钮对应值 |String/ |是 | '' | |icon | 图标 |String |否 | '' | |type | 按钮类型 |String |否 | '' | |size | 按钮大小 |String |否 | '' | **** **表格 返回事件** |字段|注释|参数| |:---- |:------- |:--- | |btnClick | 表单按钮返回数据 |row, index | |btnselectionChange | 选择数据触发 |row | |pagination | 分页数据 | paging | **** ****表格 示例**** ```html ``` ```javascript tableColumn: [ { label: '用户编号', width: '180', prop: 'userId' }, { label: '员工号/账号', width: '100', prop: 'userName' }, { label: '用户状态', prop: 'status', slot: true, width: '120' }, ], operationbtn: [ { value: 2, label: '修改' }, { value: 3, label: '删除' }, { value: 4, label: '重置密码' } ], paging: { pageSize: 10, pageIndex: 1 } ``` ****