微信小程序如何自定义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脚本编程解决考试分数统计问题
Oct 18 Javascript
jquery教程ajax请求json数据示例
Jan 13 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
Apr 29 Javascript
express框架实现基于Websocket建立的简易聊天室
Aug 10 Javascript
微信小程序开发animation心跳动画效果
Aug 16 Javascript
Vuex实现计数器以及列表展示效果
Mar 10 Javascript
vue数据传递--我有特殊的实现技巧
Mar 20 Javascript
Vue2.0 实现移动端图片上传功能
May 30 Javascript
vue-router路由懒加载的实现(解决vue项目首次加载慢)
Aug 28 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
Sep 27 Javascript
模块化react-router配置方法详解
Jun 03 Javascript
微信小程序canvas绘制圆角base64图片的实现
Aug 18 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 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
2011/07/17 PHP
PHP常用技术文之文件操作和目录操作总结
2014/09/27 PHP
Laravel 4.2 中队列服务(queue)使用感受
2014/10/30 PHP
php中array_multisort对多维数组排序的方法
2020/06/21 PHP
如何在PHP中使用数组
2020/06/09 PHP
javaScript 判断字符串是否为数字的简单方法
2009/07/25 Javascript
jQuery select控制插件
2009/08/17 Javascript
深入分析js中的constructor和prototype
2012/04/07 Javascript
基于jquery的DIV随滚动条滚动而滚动的代码
2012/07/20 Javascript
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
JavaScript中跨域调用Flash的方法
2014/08/11 Javascript
jQuery实现响应浏览器缩放大小并改变背景颜色
2014/10/31 Javascript
jquery简单图片切换显示效果实现方法
2015/01/14 Javascript
Flow之一个新的Javascript静态类型检查器
2015/12/21 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
2016/07/12 Javascript
vue组件父子间通信之综合练习(聊天室)
2017/11/07 Javascript
详解node.js的http模块实例演示
2018/07/12 Javascript
vue select选择框数据变化监听方法
2018/08/24 Javascript
Nuxt配置Element-UI按需引入的操作方法
2020/07/06 Javascript
vue-preview动态获取图片宽高并增加旋转功能的实现
2020/07/29 Javascript
[46:25]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第二局
2016/03/05 DOTA
python中bisect模块用法实例
2014/09/25 Python
对Python中range()函数和list的比较
2018/04/19 Python
Tensorflow使用tfrecord输入数据格式
2018/06/19 Python
Python中分支语句与循环语句实例详解
2018/09/13 Python
python Pandas如何对数据集随机抽样
2019/07/29 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
python统计mysql数据量变化并调用接口告警的示例代码
2020/09/21 Python
捷克厨房用品购物网站:Tescoma
2018/07/13 全球购物
澳大利亚设计师服装在线:MISHA
2019/10/07 全球购物
小学校园活动策划
2014/01/30 职场文书
2014购房个人委托书范本
2014/10/12 职场文书
2014年乡镇党建工作总结
2014/11/11 职场文书
简单的离婚协议书范本
2014/11/16 职场文书
争做文明公民倡议书
2019/06/24 职场文书
温馨祝福晨语:美丽的一天从我的问候开始
2019/11/28 职场文书