微信小程序如何自定义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 相关文章推荐
兼容IE和FF的图片上传前预览js代码
May 28 Javascript
解析JavaScript中点号“.”的多义性
Dec 02 Javascript
控制input输入框中提示信息的显示和隐藏的方法
Feb 12 Javascript
javascript函数命名的三种方式及区别介绍
Mar 22 Javascript
Angular限制input框输入金额(是小数的话只保留两位小数点)
Jul 13 Javascript
[js高手之路]从原型链开始图解继承到组合继承的产生详解
Aug 28 Javascript
JavaScript基础之流程控制语句的用法
Aug 31 Javascript
JavaScript实现随机数生成器(去重)
Oct 13 Javascript
ES6使用Set数据结构实现数组的交集、并集、差集功能示例
Oct 31 Javascript
微信小程序通过一个json实现分享朋友圈图片
Sep 03 Javascript
vue如何使用async、await实现同步请求
Dec 09 Javascript
基于react项目打包css引用路径错误解决方案
Oct 28 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 fsockopen函数被禁用的解决办法
2013/08/07 PHP
ThinkPHP行为扩展Behavior应用实例详解
2014/07/22 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
2016/05/26 PHP
php实现xml转换数组的方法示例
2017/02/03 PHP
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
Js 去掉字符串中的空格(实现代码)
2013/11/19 Javascript
js实现文本框中焦点在最后位置
2014/03/04 Javascript
基于javascript实现最简单的选项卡切换效果
2016/05/16 Javascript
JavaScript页面实时显示当前时间实例代码
2016/10/23 Javascript
JS中作用域和变量提升(hoisting)的深入理解
2016/10/31 Javascript
基于打包工具Webpack进行项目开发实例
2018/05/29 Javascript
微信小程序scroll-view实现字幕滚动
2018/07/14 Javascript
JavaScript使用prototype原型实现的封装继承多态示例
2018/08/31 Javascript
Vue中多个元素、组件的过渡及列表过渡的方法示例
2019/02/13 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
[45:16]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第一场 12.12
2020/12/16 DOTA
Python列表推导式的使用方法
2013/11/21 Python
用Python进行行为驱动开发的入门教程
2015/04/23 Python
解决Python中字符串和数字拼接报错的方法
2016/10/23 Python
Python的标准模块包json详解
2017/03/13 Python
如何用itertools解决无序排列组合的问题
2017/05/18 Python
详谈python read readline readlines的区别
2017/09/22 Python
python实现12306抢票及自动邮件发送提醒付款功能
2018/03/08 Python
python openCV获取人脸部分并存储功能
2019/08/28 Python
python数字类型math库原理解析
2020/03/02 Python
python pip如何手动安装二进制包
2020/09/30 Python
详解python算法常用技巧与内置库
2020/10/17 Python
小孩百日宴答谢词
2014/01/15 职场文书
八年级生物教学反思
2014/01/22 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
小学感恩教育活动总结
2014/07/07 职场文书
写给老婆的保证书
2015/02/27 职场文书
企业办公室主任岗位职责
2015/04/01 职场文书
感谢师恩主题班会
2015/08/17 职场文书
python 通过使用Yolact训练数据集
2021/04/06 Python
table设置超出部分隐藏,鼠标移上去显示全部内容的方法
2022/12/24 HTML / CSS