微信小程序如何自定义table组件


Posted in Javascript onJune 29, 2019

背景

最近想要捣鼓一个自己的小程序,其中数据展示部分比较多,想用table来做展示,但是微信小程序并没有table组件,于是就自己动手捣鼓了一个,勉强能用。

可以看看效果:

微信小程序如何自定义table组件

etable使用介绍

etable的使用很简单,分为 引入、使用、配置等3个阶段

1、引入

首先在要使用的页面中的json文件中配置如下:

{
"usingComponents": {
"etable" : "/compenents/etable/etable"
}
}

2、使用

在wxml页面需要用到的地方使用,如下:

<view style='padding : 10rpx;'>
<etable config="{{config}}"></etable>
</view>

3、配置

配置阶段主要配置config这个对象,这个对象中有这么几个属性,分别是

  • content --etable数据,数组类型,必填
  • titles --etable头部标题,数组类型,必填
  • props --etable每一列对应的数据的key值,
  • columnWidths --etable 每一列的列宽,值类型使用rpx,注意:(titles,props,columnWidths这3个数组的长度需保持一致)
  • border --etable 是否有边框,Boolean类型,默认true
  • stripe --etable 是否斑马纹,Boolean类型,默认true
  • headbgcolor --etable 标题栏的背景颜色,String类型,默认#ffffff(即白色)

如下示例代码:

/**
* 页面的初始数据
*/
data: {
config:{
content :[],
titles: ['id', '名字', '年龄', '学校'],
props : ['id', 'name', 'age', 'school'],
columnWidths: ['80rpx', '140rpx', '120rpx','390rpx'],
border: true,
stripe : true,
// headcolor : '#dddddd'
}
},

onload:function(){
// 模拟数据
let content = [
{
id: 1,
name: 'pxh',
age: 13,
school: '暨南大学计算机'
},
{
id: 2,
name: 'ap',
age: 12,
school: '中山大学'
},
{
id: 3,
name: 'cf',
age: 12,
school: '华南农业大学'
},
{
id: 4,
name: '林江',
age: 14,
school: '上海交通大学'
}
]
let that = this
// 此处是模拟网络请求
setTimeout(function(){
that.setData({
'config.content' : content
})
},2000)
}

etable的stripe和border背景颜色修改

想要调整斑马纹的背景颜色,找到etable/etable.wxss中的39-45行,如下,可以自行修改

.etable-content-row-bg1{
background-color: #ffffff;
}
.etable-content-row-bg2{
background-color: #efefef;
}

想要调整border的颜色,需要在etable.etable.wxss中分别找到etable-header-column-border 和 etable-content-column-border这2个类,然后修改对应的颜色值即可,此处不多说了。

组件的github地址

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
利用javascript/jquery对上传文件格式过滤的方法
Jul 25 Javascript
JQery 渐变图片导航效果代码 漂亮
Jan 01 Javascript
Extjs学习笔记之四 工具栏和菜单
Jan 07 Javascript
javascript转换字符串为dom对象(字符串动态创建dom)
May 10 Javascript
jQuery实现当按下回车键时绑定点击事件
Jan 28 Javascript
JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
Aug 16 Javascript
javascript控制图片播放的实现代码
Jul 29 Javascript
微信公众号支付H5调用支付解析
Nov 04 Javascript
vue 中filter的多种用法
Apr 26 Javascript
关于Vue在ie10下空白页的debug小结
May 02 Javascript
JavaScript函数Call、Apply原理实例解析
Feb 17 Javascript
利用JavaScript写一个简单计算器
Nov 27 Javascript
微信小程序如何调用图片接口API并居中显示
Jun 29 #Javascript
微信小程序如何调用json数据接口并解析
Jun 29 #Javascript
pm2启动ssr失败的解决方法
Jun 29 #Javascript
localstorage实现带过期时间的缓存功能
Jun 28 #Javascript
vue分页器组件编写方法详解
Jun 28 #Javascript
Vue分页器实现原理详解
Jun 28 #Javascript
vue实现分页栏效果
Jun 28 #Javascript
You might like
iOS+PHP注册登录系统 PHP部分(上)
2016/12/26 PHP
表单内同名元素的控制
2006/11/22 Javascript
jQuery live( type, fn ) 委派事件实现
2009/10/11 Javascript
Javascript的一种模块模式
2010/09/08 Javascript
juqery 学习之四 筛选查找
2010/11/30 Javascript
IE关闭时判断及AJAX注销案例学习
2013/02/18 Javascript
JS文本框追加多个下拉框的值的简单实例
2013/07/12 Javascript
jquery中插件实现自动添加用户的具体代码
2013/11/15 Javascript
JS测试显示屏分辨率以及屏幕尺寸的方法
2013/11/22 Javascript
node.js中的fs.realpathSync方法使用说明
2014/12/16 Javascript
jQuery实现的多级下拉菜单效果代码
2015/08/24 Javascript
js 判断所选时间(或者当前时间)是否在某一时间段的实现代码
2015/09/05 Javascript
jQuery用FormData实现文件上传的方法
2016/11/21 Javascript
前端 Vue.js 和 MVVM 详细介绍
2016/12/29 Javascript
Vue2.x中的父子组件相互通信的实现方法
2017/05/02 Javascript
使用Webpack提高Vue.js应用的方式汇总(四种)
2017/07/10 Javascript
Angularjs按需查询实例代码
2017/10/30 Javascript
解决vue中无法动态修改jqgrid组件 url地址的问题
2018/03/01 Javascript
简单介绍react redux的中间件的使用
2018/04/06 Javascript
iconfont的三种使用方式详解
2018/08/05 Javascript
模块化react-router配置方法详解
2019/06/03 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
[00:32]2016完美“圣”典风云人物:Maybe宣传片
2016/12/05 DOTA
pandas通过loc生成新的列方法
2018/11/28 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
Django 导出项目依赖库到 requirements.txt过程解析
2019/08/23 Python
李维斯德国官方网上商店:Levi’s德国
2016/09/10 全球购物
英国邮购活的植物主要供应商:Gardening Direct
2019/01/28 全球购物
有趣的睡衣和礼物:LazyOne
2019/11/27 全球购物
介绍一下except的用法和作用
2015/01/22 面试题
2014年教师政治学习材料
2014/06/02 职场文书
党校党性分析材料
2014/12/19 职场文书
校园之声广播稿
2015/08/18 职场文书
计算机实训心得体会
2016/01/14 职场文书
100句拼搏进取的名言警句,值得一读!
2019/10/07 职场文书
Python list去重且保持原顺序不变的方法
2021/04/03 Python