微信小程序如何自定义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 相关文章推荐
jquery1.4后 jqDrag 拖动 不可用
Feb 06 Javascript
jQuery EasyUI API 中文文档 - Form表单
Oct 06 Javascript
HTML页面登录时的JS验证方法
May 28 Javascript
node.js中的buffer.length方法使用说明
Dec 14 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
Aug 10 Javascript
学习JavaScript设计模式之装饰者模式
Jan 19 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
Jan 27 Javascript
详解vue+vuex+koa2开发环境搭建及示例开发
Jan 22 Javascript
Vue.js中关于侦听器(watch)的高级用法示例
May 02 Javascript
Vue 实现从文件中获取文本信息的方法详解
Oct 16 Javascript
Vue vm.$attrs使用场景详解
Mar 08 Javascript
详解Javascript实践中的命令模式
May 05 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
php二分查找二种实现示例
2014/03/12 PHP
PHP制作万年历
2015/01/07 PHP
PHP的pcntl多进程用法实例
2015/03/19 PHP
PHP截取发动短信内容的方法
2017/07/04 PHP
根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码
2007/02/22 Javascript
用表格输出1-1000之间的数字实现代码(附特效)
2013/04/21 Javascript
三种检测iPhone/iPad设备方向的方法
2014/04/23 Javascript
node.js中的fs.createReadStream方法使用说明
2014/12/17 Javascript
jquery实现聚光灯效果的方法
2015/02/06 Javascript
jquery实现通用的内容渐显Tab选项卡效果
2015/09/07 Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
2017/01/04 Javascript
在 Node.js 中使用原生 ES 模块方法解析
2017/09/19 Javascript
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
2017/09/20 Javascript
nodejs多版本管理总结
2018/04/03 NodeJs
angular6.0使用教程之父组件通过url传递id给子组件的方法
2018/06/30 Javascript
JS数据类型判断的几种常用方法
2020/07/07 Javascript
[01:51]开启你的城市传奇 完美世界城市挑战赛开始报名
2018/10/09 DOTA
[45:52]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第二场 12.09
2020/12/12 DOTA
Python实现队列的方法
2015/05/26 Python
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
python创建ArcGIS shape文件的实现
2019/12/06 Python
keras输出预测值和真实值方式
2020/06/27 Python
Python 防止死锁的方法
2020/07/29 Python
Django前后端分离csrf token获取方式
2020/12/25 Python
CSS3实战第一波 让我们尽情的圆角吧
2010/08/27 HTML / CSS
美国顶级奢侈茶:Mighty Leaf Tea(美泰茶)
2016/11/26 全球购物
全球最大的在线橄榄球商店:Lovell Rugby
2018/05/20 全球购物
2014年自愿离婚协议书范本
2014/09/25 职场文书
申报优秀教师材料
2014/12/16 职场文书
2015学校图书管理员工作总结
2015/05/11 职场文书
法律意见书范文
2015/05/20 职场文书
2019年工作总结范文
2019/05/21 职场文书
修改MySQL的默认密码的四种小方法
2021/05/26 MySQL
MySQL 十大常用字符串函数详解
2021/06/30 MySQL
Redis官方可视化工具RedisInsight安装使用教程
2022/04/19 Redis