1.0.8 • Published 3 years ago

wechat-table v1.0.8

Weekly downloads
7
License
MIT
Repository
github
Last release
3 years ago

wechat-table用于在小程序内展示复杂表格

功能

- 支持表头和表格body分组(自定义配置)
- 支持表格左右滑动(可自定义配置表格固定列)
- 不支持点击事件

与上一版本(v1.0.6)差异

  1. 取消headOption.bgColor属性,新增headOption.thStickyStyle和headOption.thStyle属性,用于设置表头单元格样式
  2. 新增bodyOption.tdStickyStyle和bodyOption.tdStyle属性,用于设置表格body单元格的样式

使用教程

  • 下载包之后,使用微信开发者工具构建npm

  • 在page.json中引入j-table自定义组件

    {
        "usingComponents": {
            "j-table": "wechat-table/j-table/index"
        }
    }
  • 在page.wxml模板中使用j-table组件(传入option配置和表格数据data)
<j-table option="{{tableOption}}" data="{{tableData}}" />

option配置

参数类型描述默认值
headOptionobject表头配置-
headOption.row[ { } ]表头行配置:二维数组,每个元素为每一行的配置,每一行包含该行所有单元格的配置对象,单元格配置对象参见下方head接口-
headOption.thStickyStylestring表头固定单元格的样式-
headOption.thStylestring表头可滑动单元格的样式-
bodyOptionobject表格body配置-
bodyOption.row[ { } ]表格body行配置:二维数组,每个元素为每一行的配置,每一行包含该行所有单元格的配置对象,单元格配置对象参见下方body接口-
bodyOption.tdStickyStylestring表格body固定单元格的样式-
bodyOption.tdStylestring表格body可滑动单元格的样式-
colOptionnumber[]表格每列宽度设置(单位:px,这里填写ipnhoe6下合适的宽度值即可,该组件对其他不同类型设备已做了自适应)。 例:80, 80, 100, 100。注意:固定单元格的left属性须与这里配置的对应-
widthnumber表格宽度(单位:px,这里填写ipnhoe6下合适的宽度值即可,该组件对其他不同类型设备已做了自适应)。设备宽度

interface head

参数类型描述默认值
valuestring表头名''
rowspannumber单元格占行数1
colspannumber单元格占列数1
stickyboolean单元格是否固定false
leftnumber左侧距离(单位:px),若为固定单元格,则需配置该值0

interface body

参数类型描述默认值
valuestring静态值展示,若设置了value,则直接展示value''
propstring动态值展示,若未设置value,则展示dataprop的值(data为表格数据)''
rowspannumber单元格占行数1
colspannumber单元格占列数1
stickyboolean单元格是否固定false
leftnumber左侧距离(单位:px),若为固定单元格,则需配置该值0
isLastStickyboolean是否为该行最后一个固定单元格,该值若为true,会在单元格后显示边框阴影,增强视觉体验false

option配置示例

option: {
    headOption: {
        row: [
            [{
                value: '水果',
                rowspan: 2,
                sticky: true,
                left: 0
            }, {
                value: '',
                rowspan: 2,
                sticky: true,
                left: 120
            }, {
                value: '分类',
                colspan: 2
            }],
            [{
                value: '大果',
            }, {
                value: '小果',
            }]
        ],
        thStickyStyle: 'background-color:#007f80;',
        thStyle: 'background-color:#428bca;'
    },
    bodyOption: {
        row: [
            [{
                value: '',
                prop: 'fruitName',
                rowspan: 2,
                sticky: true,
                left: 0
            }, {
                value: '单价(元/斤)',
                sticky: true,
                isLastSticky: true,
                left: 120
            }, {
                prop: 'bigFruitPrice'
            }, {
                prop: 'smallFruitPrice'
            }],
            [{
                value: '存量(吨)',
                sticky: true,
                isLastSticky: true,
                left: 120
            }, {
                prop: 'bigFruitStock'
            }, {
                prop: 'smallFruitStock'
            }]
        ],
        tdStickyStyle: 'background-color:#99ffff;',
        tdStyle: 'background-color:#b3ff66;'
    },
    colOption: [120, 120, 150, 150]
}

表格数据data示例

[{
        fruitName: '苹果',
        bigFruitPrice: 7,
        smallFruitPrice: 4,
        bigFruitStock: 200,
        smallFruitStock: 300
    },
    {
        fruitName: '香蕉',
        bigFruitPrice: 5,
        smallFruitPrice: 3.5,
        bigFruitStock: 600,
        smallFruitStock: 1000
    }
]

若使用上述配置,将呈现出如下页面(若图片加载不出来可以百度一下解决方案)

示例图片

动画展示

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago