微信小程序如何自定義table組件
背景
最近想要搗鼓一個(gè)自己的小程序,其中數(shù)據(jù)展示部分比較多,想用table來(lái)做展示,但是微信小程序并沒有table組件,于是就自己動(dòng)手搗鼓了一個(gè),勉強(qiáng)能用。
可以看看效果:
etable使用介紹
etable的使用很簡(jiǎn)單,分為 引入、使用、配置等3個(gè)階段
1、引入
首先在要使用的頁(yè)面中的json文件中配置如下:
{ "usingComponents": { "etable" : "/compenents/etable/etable" } }
2、使用
在wxml頁(yè)面需要用到的地方使用,如下:
<view style='padding : 10rpx;'> <etable config="{{config}}"></etable> </view>
3、配置
配置階段主要配置config這個(gè)對(duì)象,這個(gè)對(duì)象中有這么幾個(gè)屬性,分別是
- content --etable數(shù)據(jù),數(shù)組類型,必填
- titles --etable頭部標(biāo)題,數(shù)組類型,必填
- props --etable每一列對(duì)應(yīng)的數(shù)據(jù)的key值,
- columnWidths --etable 每一列的列寬,值類型使用rpx,注意:(titles,props,columnWidths這3個(gè)數(shù)組的長(zhǎng)度需保持一致)
- border --etable 是否有邊框,Boolean類型,默認(rèn)true
- stripe --etable 是否斑馬紋,Boolean類型,默認(rèn)true
- headbgcolor --etable 標(biāo)題欄的背景顏色,String類型,默認(rèn)#ffffff(即白色)
如下示例代碼:
/** * 頁(yè)面的初始數(shù)據(jù) */ data: { config:{ content :[], titles: ['id', '名字', '年齡', '學(xué)校'], props : ['id', 'name', 'age', 'school'], columnWidths: ['80rpx', '140rpx', '120rpx','390rpx'], border: true, stripe : true, // headcolor : '#dddddd' } }, onload:function(){ // 模擬數(shù)據(jù) let content = [ { id: 1, name: 'pxh', age: 13, school: '暨南大學(xué)計(jì)算機(jī)' }, { id: 2, name: 'ap', age: 12, school: '中山大學(xué)' }, { id: 3, name: 'cf', age: 12, school: '華南農(nóng)業(yè)大學(xué)' }, { id: 4, name: '林江', age: 14, school: '上海交通大學(xué)' } ] let that = this // 此處是模擬網(wǎng)絡(luò)請(qǐng)求 setTimeout(function(){ that.setData({ 'config.content' : content }) },2000) }
etable的stripe和border背景顏色修改
想要調(diào)整斑馬紋的背景顏色,找到etable/etable.wxss中的39-45行,如下,可以自行修改
.etable-content-row-bg1{ background-color: #ffffff; } .etable-content-row-bg2{ background-color: #efefef; }
想要調(diào)整border的顏色,需要在etable.etable.wxss中分別找到etable-header-column-border 和 etable-content-column-border這2個(gè)類,然后修改對(duì)應(yīng)的顏色值即可,此處不多說(shuō)了。
組件的github地址
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 微信小程序如何調(diào)用圖片接口API并居中顯示
- 微信小程序如何調(diào)用json數(shù)據(jù)接口并解析
- 微信小程序身份證驗(yàn)證方法實(shí)現(xiàn)詳解
- 微信小程序網(wǎng)絡(luò)層封裝的實(shí)現(xiàn)(promise, 登錄鎖)
- 微信小程序設(shè)置全局請(qǐng)求URL及封裝wx.request請(qǐng)求操作示例
- 微信小程序自定義組件封裝及父子間組件傳值的方法
- 微信小程序之網(wǎng)絡(luò)請(qǐng)求簡(jiǎn)單封裝實(shí)例詳解
- 微信小程序中如何使用flyio封裝網(wǎng)絡(luò)請(qǐng)求
相關(guān)文章
使用post方法實(shí)現(xiàn)json往返傳輸數(shù)據(jù)的方法
今天小編就為大家分享一篇關(guān)于使用post方法實(shí)現(xiàn)json往返傳輸數(shù)據(jù)的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03js簡(jiǎn)單正則驗(yàn)證漢字英文及下劃線的方法
這篇文章主要介紹了js簡(jiǎn)單正則驗(yàn)證漢字英文及下劃線的方法,結(jié)合完整實(shí)例形式分析了javascript針對(duì)中英文字母與下劃線的正則驗(yàn)證方法,需要的朋友可以參考下2016-11-11layer實(shí)現(xiàn)彈出層自動(dòng)調(diào)節(jié)位置
今天小編就為大家分享一篇layer實(shí)現(xiàn)彈出層自動(dòng)調(diào)節(jié)位置,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09JavaScript中0和""比較引發(fā)的問(wèn)題
這篇文章主要介紹了JavaScript中0和""比較引發(fā)的問(wèn)題,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-05-05