├── .gitignore ├── static ├── zTable.jpg └── z-table │ └── z-table.png ├── main.js ├── App.vue ├── pages.json ├── README.md ├── uni.scss ├── manifest.json ├── components └── z-table │ └── z-table.vue └── pages └── index └── index.vue /.gitignore: -------------------------------------------------------------------------------- 1 | /unpackage 2 | zTable.zip 3 | components.zip 4 | -------------------------------------------------------------------------------- /static/zTable.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/calamus0427/z-table/master/static/zTable.jpg -------------------------------------------------------------------------------- /static/z-table/z-table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/calamus0427/z-table/master/static/z-table/z-table.png -------------------------------------------------------------------------------- /main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App' 3 | 4 | Vue.config.productionTip = false 5 | 6 | App.mpType = 'app' 7 | 8 | const app = new Vue({ 9 | ...App 10 | }) 11 | app.$mount() 12 | -------------------------------------------------------------------------------- /App.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 18 | -------------------------------------------------------------------------------- /pages.json: -------------------------------------------------------------------------------- 1 | { 2 | "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages 3 | { 4 | "path": "pages/index/index", 5 | "style": { 6 | "navigationBarTitleText": "z-table使用示例" 7 | } 8 | } 9 | ], 10 | "globalStyle": { 11 | "navigationBarTextStyle": "black", 12 | "navigationBarTitleText": "uni-app", 13 | "navigationBarBackgroundColor": "#F8F8F8", 14 | "backgroundColor": "#F8F8F8" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # z-table 2 | uni-app的表格插件 3 | 目前兼容H5和微信小程序 4 | 5 | ### 表格使用 6 | #### props: 7 | ##### tableData Array | 表格数据 8 | ##### columns Array | 数据映射表 每列params => title(表头文字), width(每列宽度) [, key(对应tableData的字段名) || format(自定义内容), sort(是否要排序), isLink(是否显示为超链接Object)] 9 | ##### format格式: {template: 字符串模版用#key#表示需要被替换的数据,names: 对应template属性内要被替换的内容的key} 10 | ##### isLink格式: {url: 链接地址, params: 地址带的参数Array[key|value, key|value, ...]每一项都是key和value以'|'链接,如果不带'|'默认键值同名} 11 | ##### stickSide Boolean | 是否固定右侧首栏 默认不显示 12 | ##### showBottomSum Boolean | 是否显示底部统计 默认不显示 13 | ##### showLoading Boolean | 是否首次加载首次加载不显示暂无数据内容 14 | ##### emptyText String | 空数据显示的文字内容 15 | ##### tableHeight Number | 设置表格高度会滚动 16 | ##### sort Boolean | 开启排序 17 | --- 18 | #### event: 19 | ##### onSort | 排序事件 返回{key: 被排序列的字段名, type: 正序'asc'/倒序'desc'} 20 | --- 21 | #### function: 22 | ##### resetSort | 调用后重置排序 *注意:不会触发sort事件 23 | 24 | ### 效果预览 25 | ![小程序二维码](https://github.com/zc897575/z-table/blob/master/static/zTable.jpg) 26 | -------------------------------------------------------------------------------- /uni.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * 这里是uni-app内置的常用样式变量 3 | * 4 | * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 5 | * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App 6 | * 7 | */ 8 | 9 | /** 10 | * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 11 | * 12 | * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 13 | */ 14 | 15 | /* 颜色变量 */ 16 | 17 | /* 行为相关颜色 */ 18 | $uni-color-primary: #007aff; 19 | $uni-color-success: #4cd964; 20 | $uni-color-warning: #f0ad4e; 21 | $uni-color-error: #dd524d; 22 | 23 | /* 文字基本颜色 */ 24 | $uni-text-color:#333;//基本色 25 | $uni-text-color-inverse:#fff;//反色 26 | $uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息 27 | $uni-text-color-placeholder: #808080; 28 | $uni-text-color-disable:#c0c0c0; 29 | 30 | /* 背景颜色 */ 31 | $uni-bg-color:#ffffff; 32 | $uni-bg-color-grey:#f8f8f8; 33 | $uni-bg-color-hover:#f1f1f1;//点击状态颜色 34 | $uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色 35 | 36 | /* 边框颜色 */ 37 | $uni-border-color:#c8c7cc; 38 | 39 | /* 尺寸变量 */ 40 | 41 | /* 文字尺寸 */ 42 | $uni-font-size-sm:24upx; 43 | $uni-font-size-base:28upx; 44 | $uni-font-size-lg:32upx; 45 | 46 | /* 图片尺寸 */ 47 | $uni-img-size-sm:40upx; 48 | $uni-img-size-base:52upx; 49 | $uni-img-size-lg:80upx; 50 | 51 | /* Border Radius */ 52 | $uni-border-radius-sm: 4upx; 53 | $uni-border-radius-base: 6upx; 54 | $uni-border-radius-lg: 12upx; 55 | $uni-border-radius-circle: 50%; 56 | 57 | /* 水平间距 */ 58 | $uni-spacing-row-sm: 10px; 59 | $uni-spacing-row-base: 20upx; 60 | $uni-spacing-row-lg: 30upx; 61 | 62 | /* 垂直间距 */ 63 | $uni-spacing-col-sm: 8upx; 64 | $uni-spacing-col-base: 16upx; 65 | $uni-spacing-col-lg: 24upx; 66 | 67 | /* 透明度 */ 68 | $uni-opacity-disabled: 0.3; // 组件禁用态的透明度 69 | 70 | /* 文章场景相关 */ 71 | $uni-color-title: #2C405A; // 文章标题颜色 72 | $uni-font-size-title:40upx; 73 | $uni-color-subtitle: #555555; // 二级标题颜色 74 | $uni-font-size-subtitle:36upx; 75 | $uni-color-paragraph: #3F536E; // 文章段落颜色 76 | $uni-font-size-paragraph:30upx; -------------------------------------------------------------------------------- /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "zTable", 3 | "appid" : "__UNI__DA6EA08", 4 | "description" : "", 5 | "versionName" : "1.0.0", 6 | "versionCode" : "100", 7 | "transformPx" : false, 8 | "app-plus" : { 9 | /* 5+App特有相关 */ 10 | "usingComponents" : true, 11 | "splashscreen" : { 12 | "alwaysShowBeforeRender" : true, 13 | "waiting" : true, 14 | "autoclose" : true, 15 | "delay" : 0 16 | }, 17 | "modules" : {}, 18 | /* 模块配置 */ 19 | "distribute" : { 20 | /* 应用发布信息 */ 21 | "android" : { 22 | /* android打包配置 */ 23 | "permissions" : [ 24 | "", 25 | "", 26 | "", 27 | "", 28 | "", 29 | "", 30 | "", 31 | "", 32 | "", 33 | "", 34 | "", 35 | "", 36 | "", 37 | "", 38 | "", 39 | "", 40 | "", 41 | "", 42 | "", 43 | "", 44 | "", 45 | "" 46 | ] 47 | }, 48 | "ios" : {}, 49 | /* ios打包配置 */ 50 | "sdkConfigs" : {} 51 | } 52 | }, 53 | /* SDK配置 */ 54 | "quickapp" : {}, 55 | /* 快应用特有相关 */ 56 | "mp-weixin" : { 57 | /* 小程序特有相关 */ 58 | "appid" : "wx2601089995dbaa81", 59 | "setting" : { 60 | "urlCheck" : false, 61 | "minified" : true, 62 | "postcss" : false 63 | }, 64 | "usingComponents" : true 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /components/z-table/z-table.vue: -------------------------------------------------------------------------------- 1 | 112 | 113 | 362 | 363 | 639 | -------------------------------------------------------------------------------- /pages/index/index.vue: -------------------------------------------------------------------------------- 1 | 531 | 532 | 940 | 941 | 1033 | --------------------------------------------------------------------------------