微信小程序如何自定义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 相关文章推荐
json数据的列循环示例
Sep 06 Javascript
JS小功能(checkbox实现全选和全取消)实例代码
Nov 28 Javascript
常用的几段javascript代码分享
Mar 25 Javascript
jQuery如何将选中的对象转化为原始的DOM对象
Jun 09 Javascript
Mac OS X 系统下安装和部署Egret引擎开发环境
Sep 03 Javascript
使用jQuery管理选择结果
Jan 20 Javascript
JavaScript函数内部属性和函数方法实例详解
Mar 17 Javascript
深入浅析JavaScript中的RegExp对象
Sep 18 Javascript
解决Linux无法正常安装与卸载Node.js的方法
Jan 19 Javascript
node内置调试方法总结
Feb 22 Javascript
微信小程序动态生成二维码的实现代码
Jul 25 Javascript
基于vue中keep-alive缓存问题的解决方法
Sep 21 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
Netflix将与CLAMP、乙一以及冲方丁等6名知名制作人合伙展开原创动画计划!
2020/03/06 日漫
php 读取文件乱码问题
2010/02/20 PHP
php class类的用法详细总结
2013/10/17 PHP
JS解析XML的实现代码
2009/11/12 Javascript
javascript中数组的concat()方法使用介绍
2013/12/18 Javascript
js select option对象小结
2013/12/20 Javascript
Nodejs关于gzip/deflate压缩详解
2015/03/04 NodeJs
Express的路由详解
2015/12/10 Javascript
js倒计时抢购实例
2015/12/20 Javascript
理解js对象继承的N种模式
2016/01/25 Javascript
jQuery实现div拖拽效果实例分析
2016/02/20 Javascript
详解Angular2中的编程对象Observable
2016/09/17 Javascript
jquery 正整数数字校验正则表达式
2017/01/10 Javascript
js如何判断是否在iframe中及防止网页被别站用iframe嵌套
2017/01/11 Javascript
javascript 中关于array的常用方法详解
2017/05/05 Javascript
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
将Sublime Text 3 添加到右键中的简单方法
2017/12/12 Javascript
解决Vue2.x父组件与子组件之间的双向绑定问题
2018/03/06 Javascript
详解vue 不同环境配置不同的打包命令
2019/04/07 Javascript
微信小程序云开发之新手环境配置
2019/05/16 Javascript
微信小程序+云开发实现欢迎登录注册
2019/05/24 Javascript
Vue.js中的组件系统
2019/05/30 Javascript
JavaScript编写开发动态时钟
2020/07/29 Javascript
Vue如何循环提取对象数组中的值
2020/11/18 Vue.js
回调函数的意义以及python实现实例
2017/06/20 Python
Python实现PS图像明亮度调整效果示例
2018/01/23 Python
Python面向对象之继承代码详解
2018/01/29 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
2018/05/07 Python
python命名空间(namespace)简单介绍
2019/08/10 Python
CSS3 calc()会计算属性详解
2018/02/27 HTML / CSS
HTML5 Web Workers之网站也能多线程的实现
2013/04/24 HTML / CSS
HTML块级标签汇总(小篇)
2016/07/13 HTML / CSS
HTML5利用约束验证API来检查表单的输入数据的代码实例
2016/12/20 HTML / CSS
世嘉游戏英国官方商店:SEGA Shop UK
2019/09/20 全球购物
数学备课组工作总结
2015/08/12 职场文书
幼儿园托班教育随笔
2015/08/14 职场文书