npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@wooshiao/x-ui2

v1.0.8

Published

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

Downloads

8

Readme

组件介绍及使用

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部分的导航插槽 |