ph-front-component v2.4.10
ph-front-component
安装
npm install --save ph-front-component引入
按需引入
import { ThemeSelector } from 'ph-front-component';全局引入
在入口文件(main.js)中全局引入:
import PhfrontComponent from 'ph-front-component';
Vue.use(PhfrontComponent);权限按钮/AuthButton
使用方法
<auth-button
:buttonType="buttonType"
:permission="permission"
:baseHost="baseHost"
@authCallback="authCallback">
</auth-button>属性
| 属性名 | 描述 | 类型 | 默认值 | 可选值 |
|---|---|---|---|---|
| buttonType | 已经配置好的类型包括新增、删除、修改、搜索、导入、导出,如果想要使用自定义,则不传 | String | - | "add"/"delete"/"edit"/"search"/"upload"/"download" |
| permission | 按钮的权限地址 | String | - | - |
| baseHost | 基本域名,默认是后台本地地址,建议传配置好的代理名以免产生跨域请求 | String | - | - |
| access | 是否要展示。当前页面有多个相同权限的按钮时,为了避免出现多个相同请求,请使用该属性。 | Boolean | - | - |
事件
| 事件名 | 描述 | 返回值 |
|---|---|---|
| authCallback | 获取权限结果之后的回调 | 权限结果 |
日期范围选择器/PritDateRange
使用交互:开始时间和结束时间可以分开选择。 支持传开始时间或结束时间的默认值,支持 element/DatePicker 文档中的属性。
使用方法
<date-picker-range
v-model:startDate="startDate"
v-model:endDate="endDate"
:type="type"
:disabledDate="(current) => {return true;}"
:startPlaceholder="开始日期"
:endPlaceholder="结束日期">
</date-picker-range>属性
| 属性名 | 描述 | 类型 | 默认值 | 可选值 |
|---|---|---|---|---|
| startDate | 开始日期,如果有传则会被作为默认值 | String/Date | - | - |
| endDate | 结束日期,如果有传则会被作为默认值 | String/Date | - | - |
| type | 日期选择器类型 | String | date | year/month/date |
| disabledDate | 不可选日期 | Function | - | function(current) {return current && current > new Date()} |
| startPlaceholder | 开始日期的占位符 | String | 开始日期 | - |
| endPlaceholder | 结束日期的占位符 | String | 结束日期 | - |
事件
| 事件名 | 描述 | 返回值 |
|---|---|---|
| change | 日期选择值改变 | 选中的日期范围,{ startDate, endDate } |
时间范围选择器/PritTimeRange
使用交互:开始时间和结束时间可以分开选择。 支持传开始时间或结束时间的默认值,支持 element/TimePicker 文档中的属性。
使用方法
<time-picker-range
v-model:startTime="startTime"
v-model:endTime="endTime"
:type="type"
:startPlaceholder="开始时间"
:endPlaceholder="结束时间">
</time-picker-range>属性
| 属性名 | 描述 | 类型 | 默认值 | 可选值 |
|---|---|---|---|---|
| startTime | 开始时间,如果有传则会被作为默认值 | String/Date | - | - |
| endTime | 结束时间,如果有传则会被作为默认值 | String/Date | - | - |
| type | 时间选择器类型 | String | HH:mm:ss | HH:mm:ss/HH:mm |
| startPlaceholder | 开始时间的占位符 | String | 开始时间 | - |
| endPlaceholder | 结束时间的占位符 | String | 结束时间 | - |
事件
| 事件名 | 描述 | 返回值 |
|---|---|---|
| change | 时间选择值改变 | 选中的时间范围,{ startTime, endTime } |
表格/PritTable
包括表格(多选)按钮、表格主体、页码选择器,其中表格按钮组(表格主体上方)和页码选择器(表格主体下方)可选。 支持 element/Table 文档中的属性。
使用方法
<prit-table
:tableBtns="tableBtns"
:tableData="tableData"
:tableColumns="tableColumns"
:isShowPager="isShowPager"
:pagerProps="pagerProps">
</prit-table>属性
| 属性名 | 描述 | 类型 | 默认值 | 可选值 |
|---|---|---|---|---|
| tableBtns | 表格按钮组的配置,详情见 tableBtns | Array | - | - |
| tableData | 表格数据 | Array | - | - |
| tableColumns | 表格配置,详情见 tableColumns | Object | - | - |
| isShowPager | 是否展示页码选择器 | Boolean | true | - |
| pagerProps | 页码的配置,详情见 element/Pagination | Object | - | - |
| pageTotal | 表格数据数量 | String/Number | - | - |
tableBtns
基于 Authbutton 构成。
| 属性名 | 描述 | 类型 | 默认值 | 可选值 |
|---|---|---|---|---|
| name | 标识符,用于点击事件的时候的回调 | String | - | - |
| buttonType | 已经配置好的类型包括新增、删除、修改、搜索、导入、导出,如果想要使用自定义,则不传 | String | - | "add"/"delete"/"edit"/"search"/"upload"/"download" |
| permission | 按钮的权限地址,如不传则默认展示按钮 | String | - | - |
| title | 按钮的名称 | String | - | - |
tableColumns
支持 element/table-column 的属性。
如果想要自定义某个表格内容或某个表头的内容,使用 slot 的方式,并在该表格项中配置 slot:name 即可,参考如下代码:
<prit-table
:tableColumn="{
label: "测试",
prop: "test",
slotName: "testSlotName"
headerSlotName: "testHeaderSlotName"
}">
<template #testSlotName="{ row, column, $index}">
{{row.test}}: {{column.prop}}: {{$index}}
</template>
<template #testHeaderSlotName="{ column, $index}">
{{column.label}}: {{$index}}
</template>
</prit-table>| 属性名 | 描述 | 类型 | 默认值 | 可选值 |
|---|---|---|---|---|
| slotName | 表格自定义内容的 slot:name | String | - | - |
| headerSlotName | 表头表格自定义内容的 slot:name | String | - | - |
事件
| 事件名 | 描述 | 返回值 |
|---|---|---|
| tableBtnClick | 点击表格顶部按钮之后的回调 | 点击的按钮,{ name, selectedList } |
| selectChange | 表格选择列表变化时的回调 | 选中的列表 |
| pageChange | 页码、页数变化时的回调 | 页码、页数,{ size, currentPage } |
方法
| 方法名 | 描述 | 参数 |
|---|---|---|
| reset | 清空表格多选状态和页码为1 | - |
树形控件/PritTree
包括可选的搜索区域以及树形列表。 支持 element/Tree 文档中的属性。
使用方法
<prit-tree
:width="width"
:showTreeSearch="showTreeSearch"
:treeList="treeList"
:treeProps="treeProps"
:useVirtualTree="useVirtualTree"
:onlySelectLeaf="onlySelectLeaf"
:treeSearchFun="treeSearchFun"
@handleSelectTree="handleSelectTree">
</prit-tree>属性
| 属性名 | 描述 | 类型 | 默认值 | 可选值 |
|---|---|---|---|---|
| width | 宽度 | String/Number | 200px | - |
| height | 高度 | Number | 200 | - |
| showTreeSearch | 是否展示树选择器顶部搜索框 | Boolean | false | true/false |
| onlySelectLeaf | 是否只能选择叶子节点 | Boolean | true | true/false |
| treeProps | 配置选项 | Object | { value: 'id', label: 'label', children: 'children' } | - |
| useVirtualTree | 是否要使用虚拟树的组件,当列表数据过多时推荐使用 | Boolean | true | true/false |
| treeList | 树选择器列表,单个项默认请以 { label, value, children }的结构赋值,或者在 treeProps 中配置 | Array | - | - |
| treeSearchFun | 自定义顶部输入搜索函数 | Function | - | - |
事件
| 事件名 | 描述 | 返回值 |
|---|---|---|
| handleSelectTree | 选择树节点后的回调 | 选中的树节点的信息,{ label, value, level, isLeaf },若是反选,则返回 null |
树形穿梭框/PritTreeTransfer
树形列表的穿梭框。
使用方法
<prit-tree-transfer
v-model="treeSelects"
:transferList="treeList2"
:propMap="treeProps"
:height="500"
:isParentDisable="false"
@change="handleChangeTree">
</prit-tree-transfer>属性
| 属性名 | 描述 | 类型 | 默认值 | 可选值 |
|---|---|---|---|---|
| height | 高度 | Number | 200 | - |
| isParentDisable | 是否只能选择叶子节点 | Boolean | true | true/false |
| propMap | 配置选项 | Object | { value: 'id', label: 'label', children: 'children' } | - |
| transferList | 树选择器列表,单个项默认请以 { label, value, children }的结构赋值,或者在 propMap 中配置 | Array | - | - |
事件
| 事件名 | 描述 | 返回值 |
|---|---|---|
| change | 当前选中列表变更时的回调 | 选中的id列表 |
代码编辑器/PritCodeMirror
使用方法
<prit-code-mirror
v-model:codeVal="codeVal"
:codeMirrorId="codeMirrorId"
:codeMode="codeMode"
:isReadOnly="isReadOnly"
:height="height"
@change="handleChange">
</prit-code-mirror>属性
基于 codeMirror 实现,如需对组件进行改造,请参考官方文档进行改动。
| 属性名 | 描述 | 类型 | 默认值 | 可选值 |
|---|---|---|---|---|
| codeMirrorId | 编辑器标识符。当页面中可能存在多个编辑器的时候必填,否则可能会导致数据更新异常。 | String | - | - |
| codeVal | 默认代码字符串 | String | - | - |
| codeMode | 编程语言,请参考 支持语言 查阅。 | String | javascript | - |
| isReadOnly | 是否只读 | Boolean | false | - |
| height | 编辑器高度,String 类型时请尽量使用 px。 | String/Number | - | - |
| theme | 编辑器主题,请参考 支持主题 查阅。 | String | panda-syntax | - |
| fontSize | 编辑器字体大小,请尽量使用 px。 | String | - | - |
| lineHeight | 编辑器行高。 | Number/String | - | - |
| extraKeys | 快捷键自定义,格式为:{ 快捷键:function(cm) {}; } | Object | - | - |
事件
| 事件名 | 描述 | 返回值 |
|---|---|---|
| change | 输入代码更新时的回调 | 代码字符串 |
| focus | 编辑器聚焦 | 编辑器实例 instance,事件 event |
| blur | 编辑器失焦 | 编辑器实例 instance,事件 event |
方法
| 方法名 | 描述 | 返回值 |
|---|---|---|
| changeTheme | 修改主题,请参考 支持主题 查阅。 | - |
| changeFontSize | 修改代码字体,请使用 px | - |
| changeLineHeight | 修改行高,支持 Number/px | - |
支持语言
c++clikecsharpcssgpsqlgqlhtmljavajavascriptjsonjsxjsx-typescriptlessmarkdownmssqlmysqlnginxplsqlpythonsassscssshellsqltexttypescriptvuexml
支持主题
3024-day3024-nightabbottabcdefambiance-mobileambianceayu-darkayu-miragebase16-darkbase16-lightbespinblackboardcobaltcolorforthdarculadraculaduotone-darkduotone-lighteclipseeleganterlang-darkgruvbox-darkhopscotchicecoderideaisotopejuejinlesser-darkliquibytelucariomaterial-darkermaterial-oceanmaterialmbomdn-likemidnightmonokaimoxerneatneonightoceanic-nextpanda-syntaxparaiso-darkparaiso-lightpastel-on-darkrailscastsrubybluesetishadowfoxsolarizedssmsthe-matrixtomorrow-night-brighttomorrow-night-eightiesttcntwilightvibrant-inkxq-darkxq-lightyetiyoncezenburn
穿梭框选择器/SelectTransfer
带有输入框的穿梭框选择器,通过点击输入框弹出穿梭框弹窗。
使用方法
<select-transfer
:isTreeList="isTreeList"
:transferList="transferList"
:selectedList="selectedList"
:transferTitle="transferTitle"
:propMap="propMap"
:isParentDisable="isParentDisable"
@change="handleChange">
</select-transfer>属性
| 属性名 | 描述 | 类型 | 默认值 | 可选值 |
|---|---|---|---|---|
| height | 树形列表高度 | Number | 200 | - |
| isTreeList | 是否是树形结构 | Boolean | false | true/false |
| transferList | 数据源 | Array | - | - |
| selectedList | 选中的数据,如传则即为展示在右侧的列表。 | Array | - | - |
| transferTitle | 输入框占位符,也作为弹窗的标题 | String | "请选择" | - |
| propMap | 配置选项 | Object | { value: 'id', label: "label", children: "children", disabled: "disabled" } | - |
| isParentDisable | 如果是树形结构,父级节点是否不可选。 | Boolean | true | true/false |
事件
| 事件名 | 描述 | 返回值 |
|---|---|---|
| change | 选中值改变的回调,仅弹窗点击确认时有效 | 选中的列表 |
弹框/PritDialog
基于 el-dialog 进行二次开发,增加了 放大/缩小 、全屏/取消全屏 功能。 支持 element/Dialog 文档中的属性。
使用方法
<prit-dialog
v-model="dialogVisible"
:canFullScreen="canFullScreen"
:canZoomInOrOut="canZoomInOrOut"
:showClose="showClose"
:isShowHeader="isShowHeader"
:isShowFooter="isShowFooter"
:confirmText="confirmText"
:cancelText="cancelText"
@fullScreen="handleFullScreen"
@zoomIn="handleZoomIn"
@close="handleClose"
@confirm="handleConfirm"
@cancel="handleCancel">
</prit-dialog>属性
| 属性名 | 描述 | 类型 | 默认值 | 可选值 |
|---|---|---|---|---|
| title | 弹框的标题 | String | - | - |
| canFullScreen | 是否可以全屏 | Boolean | false | true/false |
| canZoomInOrOut | 是否可以放大 | Boolean | false | true/false |
| showClose | 是否要展示关闭按钮 | Boolean | true | true/false |
| isShowHeader | 是否要展示顶部 | Boolean | true | true/false |
| isShowFooter | 是否要展示底部,默认是按钮,可配置 | Boolean | true | true/false |
| confirmText | 确认按钮文本 | String | "确认" | - |
| cancelText | 取消按钮文本 | String | "取消" | - |
事件
| 事件名 | 描述 | 返回值 |
|---|---|---|
| fullScreen | 全屏改变的回调 | 当前是否是全屏的状态,Boolean |
| zoomIn | 放大或者缩小的回调 | 当前放大还是缩小的状态,Boolean |
| close | 关闭弹框的回调 | - |
| confirm | 点击确认按钮时的回调 | - |
| cancel | 点击取消按钮时的回调 | - |
Slot
| name | 说明 |
|---|---|
| - | 主体内容 |
| title | 顶部内容 |
| footer | 底部内容 |
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago