微信小程序如何自定义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 相关文章推荐
服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
Mar 06 Javascript
Jquery ThickBox插件使用心得(不建议使用)
Sep 08 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战一)
Aug 21 Javascript
javascript强大的日期函数代码分享
Sep 04 Javascript
JavaScript用JQuery呼叫Server端方法示例代码
Sep 03 Javascript
js点击button按钮跳转到另一个新页面
Oct 10 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
Jan 27 Javascript
浅谈Angular2 模块懒加载的方法
Oct 04 Javascript
vue项目中v-model父子组件通信的实现详解
Dec 10 Javascript
AngularJS使用ui-route实现多层嵌套路由的示例
Jan 10 Javascript
Vue 权限控制的两种方法(路由验证)
Aug 16 Javascript
微信小程序如何播放腾讯视频的实现
Sep 20 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验证码函数代码(简单实用)
2013/09/29 PHP
php邮件发送的两种方式
2020/04/28 PHP
yii去掉必填项中星号的方法
2015/12/28 PHP
ThinkPHP中limit()使用方法详解
2016/04/19 PHP
php求今天、昨天、明天时间戳的简单实现方法
2016/07/28 PHP
PHP读取文件的常见几种方法
2016/11/03 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
IE6中使用position导致页面变形的解决方案(js代码)
2011/01/09 Javascript
使用UglifyJS合并/压缩JavaScript的方法
2012/03/07 Javascript
javascript结合html5 canvas实现(可调画笔颜色/粗细/橡皮)的涂鸦板
2013/04/27 Javascript
js控制href内容的连接内容的变化示例
2014/04/30 Javascript
随鼠标移动的时钟非常漂亮遗憾的是只支持IE
2014/08/12 Javascript
js中style.display=&quot;&quot;无效的解决方法
2014/10/30 Javascript
javascript面向对象之访问对象属性的两种方式分析
2015/01/13 Javascript
js+html5实现canvas绘制简单矩形的方法
2015/06/05 Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
2016/04/21 Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
2020/06/29 Javascript
ajax请求+vue.js渲染+页面加载的示例
2018/02/11 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
通过nodejs 服务器读取HTML文件渲染到页面的方法
2018/05/17 NodeJs
100行代码实现一个vue分页组功能
2018/11/06 Javascript
jquery实现动态改变css样式的方法分析
2019/05/27 jQuery
解决vue单页面应用中动态修改title问题
2019/06/09 Javascript
[01:00:10]完美世界DOTA2联赛PWL S2 FTD vs Inki 第二场 11.21
2020/11/24 DOTA
django自带的server 让外网主机访问方法
2018/05/14 Python
解决Mac下使用python的坑
2019/08/13 Python
python小白切忌乱用表达式
2020/05/29 Python
python selenium xpath定位操作
2020/09/01 Python
HTML5边玩边学(2)基础绘图实现方法
2010/09/21 HTML / CSS
80后职场人的职业生涯规划
2014/03/08 职场文书
法制宣传月活动方案
2014/05/11 职场文书
十佳好少年事迹材料
2014/08/21 职场文书
为什么 Nginx 比 Apache 更牛逼
2021/03/31 Servers
一文带你探究MySQL中的NULL
2021/11/11 MySQL
十大必看国产动漫排名,魁拔上线,第二曾在日本播出
2022/03/18 国漫
javascript进阶篇深拷贝实现的四种方式
2022/07/07 Javascript