@wooshiao/x-ui
TypeScript icon, indicating that this package has built-in type declarations

0.2.8 • Public • Published

组件介绍及使用

1. 表格

包含查询条件、按钮、表格、分页组件

::: tip 示例

<XTable :data="dataList" :columns="columns" :options="options" :pagination="pagination">
</XTable>

:::

XTable 属性:

属性 类型 描述
hideHeader Boolean 是否隐藏header部分(查询条件)
hideTitle Boolean 是否隐藏title部分
data Array 表格数据源
options Object 表格属性,同el-table表格属性
columns Array<TableColumns> 表格例属性
pagination PaginationType 分页属性
其他 其他 其他el-table属性

XTable插槽:

名称 描述
header 头部插槽,查询条件表单
title 列表名称
top 表格右上方按钮插槽

PaginationType属性包含:

属性 类型 描述
show Boolean 是否隐藏分页
layout String 同el-pagination属性
total Number 同el-pagination属性
current-page Number 同el-pagination属性
page-size Number 同el-pagination属性
search-data Function 接受参数page(页码),size(每页条数),flag(三个值:page,search,reset.分别表示点击分页调用,点击查询按钮调用,点击重置按钮调用)

其中 TableColumns属性包含:

属性 类型 描述
show ()=>boolean 表格例是否显示
type String 表格例显示类型 index序号、selection多选框、expand展开、action操作按钮 相对于原生el-table-column增加了一个action
width string 同el-table-column属性
index number | (() => number) 同el-table-column属性
label string 同el-table-column属性
prop string 同el-table-column属性
slot string 插槽名称,自定义该列内容
min-width string 同el-table-column属性
align string 同el-table-column属性
fixed string 同el-table-column属性
selectable (row,index)=> boolean 同el-table-column属性
reserve-selection boolean 同el-table-column属性
formatter (row,column,cellValue,index)=>any | VNode<RendererNode,RendererElement,any> 同el-table-column属性
list Array<BtnOptions> type==='action' 按钮的数据
isText boolean type==='action'时,操作按钮是文本格式还是按钮格式

其中BtnOptions属性包含:

  • 注意:需要用到permission按钮权限,需要在localstorage缓存permissions信息。格式为Array<string>
属性 类型 描述
label string 按钮的文字信息
type string 按钮类型,同el-button type属性
permission Undefined | Array<string> 权限字段 同v-permission
show (row,index)=> boolean 是否显示按钮
disabled (row,index)=> boolean 是否禁用按钮
click (row,index)=> void 点击事件
size string 按钮大小,同el-button size属性
plain boolean 按钮镂空,同el-button plain属性
children Array<BtnOptions> 子按钮,有这个字段则说明该按钮是下拉按钮el-dropdown

2. 表单

包含各种element-plus组件和部分自定义组件、确定取消按钮。表单自动添加placeholder 包含组件:详见Schema属性 type

::: tip 示例

<XForm
   :model="formData"
   :schema="schema"
   label-width="120px"
   @cancel="cancel"
   @confirm="confirm"
></XForm>

:::

XForm表单属性:

属性 类型 描述
schema Array<Schema> 生成Form的布局结构数组,表单项数组
model Object 表单数据对象
hideBtn Boolean 是否隐藏表单确定取消按钮
cancel(事件) () => void 点击取消按钮的事件
confirm(事件) (data,callback) => void 点击确定按钮的事件,接受两个参数,data:表单数据源,callback:函数调用关闭loading
其他 其他 el-form其他属性

其中Schema属性包含:

属性 类型 描述
prop string 表单项对应的v-model属性,与model对象的key对应
type string 表单项类型:slot插槽、text文本框、textarea文本域、password密码框、number数字输入框、switch开关、radio单选、radio-button单选button、checkbox多选框、select下拉框、tree-select树形下拉框、transfer-select人员选择器、cascader级联选择器、date日期选择器、datetime日期时间选择器、time时间选择器、time-select时间选择、upload文件上传、editor代码编辑器、tinymce富文本编辑器
label string 表单项label属性
labelWidth string | number 表单项label宽度
rules FormRules 表单项校验规则
size string 表单项大小
description string 此属性为表单项描述信息,存在该属性会在label旁边加个 ? 展示提示信息
inputProps InputProps 表单项参数,同element-plus对应的相关属性,额外新增三个属性,list: 当type为下拉多选树形等选择器时的选项列表数据,propsAlias:当type为下拉多选树形等选择器时的属性别名,slot:插槽

3. XEditor代码编辑器

基于ace-builds封装的简单代码编辑器

::: tip 示例

<XEditor v-model="content" width="800px" height="400px"></XEditor>

::: XEditor编辑器属性:

属性 类型 描述
v-model String 文本内容,双向绑定
readonly Boolean 是否只读
theme String 主题
mode String 语言高亮模式
width String 宽度
height String 高度

4. XTinymce富文本编辑器

基于tinymce封装的简单代码编辑器

::: tip 示例

<XTinymce v-model="content" style="height: 400px"></XTinymce>

:::

XTinymce富文本编辑器属性

属性 类型 描述
v-model String 文本内容,双向绑定
readonly Boolean 是否只读
plugins String或Array 插件(同Tinymce的plugins属性)
toolbar String或Array 工具栏(同Tinymce的toolbar属性)
width String 宽度
height String 高度

5. XUpload文件上传

基于el-upload封装的文件上传组件

::: tip 示例

<XUpload
  v-model="filelist"
  accept=".doc,.docx,.ppt,.pptx,.xls,.xlsx,.pdf"
  placeholder="只能上传.doc,.docx,.ppt,.pptx,.xls,.xlsx,.pdf格式文件"
  :http-request="httpRequest"
></XUpload>

<script>

function httpRequest(options: any) {
	return new Promise(async (resolve, reject) => {
		
	});
}
</script>

:::

XUpload属性

属性 类型 描述
v-model Array<File> 文件列表
isButton Boolean 上传控件是否为按钮
text String 上传文字
placeholder String 上传提示信息
width String 图片宽度
height String 图片高度
size Number 文件大小单位b
download Function 模板下载函数
其他 其他 el-upload其他属性

6. XTree树组件

基于el-tree封装的树组件,严格模式,重写父子组件关联。

::: tip 示例

<XTree
  v-model="selectList"
  style="margin-bottom: 200px"
  :tree-data="treeData"
  :lazy="false"
  :show-checkbox="true"
  @node-click="nodeClick"
></XTree>

:::

XTree属性

属性 类型 描述
v-model Array<string> 双向绑定的选中数据
treeData Array<object> 树形数据源
treeProps Object 同el-tree属性props
lazy Boolean 同el-tree属性
load Function 同el-tree属性
showCheckbox Boolean 是否显示多选框

7. XTransfer人员选择器组件-穿梭框

人员选择器组件 包含树形组织机构选择和人员穿梭框选择

::: tip 示例

<XTransfer
  v-model="dataList"
  :load="load"
  :list-data="userList"
  multiple
  @node-click="getUserList"
></XTransfer>

:::

XTransfer属性

属性 类型 描述
v-model Array<string> 双向绑定的选中数据
treeData Array<object> 树形数据源
treeProps Object 同el-tree属性props
lazy Boolean 同el-tree属性
load Function 同el-tree属性
title Array 头部title,默认:['组织架构', '用户列表', '已选择项']
hideTree Boolean 是否隐藏树
listData Array<object> 用户列表数据源
listProps Object 用户列表属性别名 默认:{label: 'name', value: 'id'}
multiple Boolean 是否多选

7. XTransferSelect人员选择器-下拉框-复合组件

人员选择器-下拉框-复合组件 是把人员选择器组件-穿梭框封装在下拉框里面的复合组件,方便接入el-form

::: tip 示例

<XTransferSelect
  v-model="dataList"
  :load="load"
  :list-data="userList"
  :multiple="true"
  @node-click="getUserList"
></XTransferSelect>

:::

XTransferSelect属性

属性 类型 描述
v-model Array<string> 双向绑定的选中数据
treeData Array<object> 树形数据源
treeProps Object 同el-tree属性props
lazy Boolean 同el-tree属性
load Function 同el-tree属性
title Array 头部title,默认:['组织架构', '用户列表', '已选择项']
hideTree Boolean 是否隐藏树
listData Array<object> 用户列表数据源
listProps Object 用户列表属性别名 默认:{label: 'name', value: 'id'}
multiple Boolean 是否多选

7. XLayout布局组件

XLayout布局组件结合element-plus 中 el-container 和 el-menu 组件,组成中后台框架组件。

::: tip 示例

<XLayout 
  :route="$route" 
  :menus="menus" 
  :navinfo="navinfo"
  @tohome="tohome" 
  @logout="logout"
>
  <router-view></router-view>
</XLayout>

:::

XTransferSelect属性

属性 类型 描述
route RouteRecordRaw 当前路由参数
menus Array<object> 菜单数据源
navinfo Object 包含三个属性,title(系统标题)、logo(系统logo)、username(用户名)
@tohome Function(事件) 首页事件
@logout Function(事件) 退出登录事件

XTransferSelect插槽

名称 描述
- 默认插槽,一般直接插入
nav header部分的导航插槽

Package Sidebar

Install

npm i @wooshiao/x-ui

Weekly Downloads

17

Version

0.2.8

License

none

Unpacked Size

15.6 MB

Total Files

224

Last publish

Collaborators

  • wooshiao