微信小程序 表格自定义列与列宽自适应

wxml:

<scroll-view scroll-x="true" ><view class="flex"><block wx:for="{{head}}"><view class="column" style="min-width:calc({{sizeList[index]+1}}em + 30rpx)"><view class="cell">{{item.name}}</view><view class="cell" wx:for="{{body}}" wx:for-item="it">{{it[item.key]}}</view></view></block></view>
</scroll-view>

js:

//存储每一列最长的长度let sizeList = [];let head = [{"key": "sex","name": "性别"}, {"key": "name","name": "姓名"}, {"key": "phone","name": "手机号"}, {"key": "address","name": "住址"}]let body = [{"sex": "男","name": "A","phone": "123213123213","address": "附近的看法金卡时间分厘卡圣诞节风口浪尖"}, {"sex": "女","name": "Bbbb","phone": "123","address": "附近的看法金卡时间分厘卡圣诞节风口浪尖附近的看法金卡时间分厘卡圣诞节风口浪尖附近的看法金卡时间分厘卡圣诞节风口浪尖"}]for (let item in head) {for (let it in body) {//初始化每一列的长度sizeList[item] = sizeList[item] || head[item].name.length;//得到每一列中 每一个单元格的内容let v = body[it][head[item].key];//得到 \w 的长度let wSize = v.match(/[\w]/g) || "";//得到除上面之外的其他内容的长度let otherSize = v.length - wSize.length;//计算每一个单元格的长度let vSize = wSize.length * 0.5 + otherSize;//将最长的一个单元格放入数组中if (vSize > sizeList[item])sizeList[item] = vSize;console.log(item, v, wSize, otherSize, vSize, sizeList[item])}}this.setData({sizeList: sizeList,head: head,body: body})

wxss:


.column {border: 1px #bbb solid;
}
.flex{display: flex;
}
.cell {padding: 10rpx;border-top: 1px #bbb solid;min-height: 64rpx;display: flex;justify-content: center;align-content: center;
}.cell:first-child {border-top: none;background-color: #ddd;
}/* .cell:nth-child(odd):not(:first-child) {background-color: #eee;
} */.column:not(:first-child) {border-left: none;
}

github: https://github.com/dreamlonglll/mini_program_table

微信小程序 自定义表格相关推荐

  1. 微信小程序自定义表格样式

    微信小程序中没有关于table组件的内容,所以如果在小程序中需要用到列表样式时,就可以通过flex布局利用view设置样式模仿table的样式 wxml: <view class="t ...

  2. 微信小程序自定义组件-树形数据表格(进阶版)

    前言 一.下载引用 二.使用treegrid组件 三.使用文档 属性 事件 四.组件源码 利用递归思想编写的表格行--treegrid-treeline 树形表格--treegrid-treegrid ...

  3. 微信小程序自定义授权弹框

    微信小程序自定义授权弹框 最近微信获取用户信息的接口有调整,就是这货:wx.getUserInfo(OBJECT),文档描述如下: 此接口有调整,使用该接口将不再出现授权弹窗,请使用 <butt ...

  4. 微信小程序自定义组件方案

    前言:小程序已于11月初开放了小程序组件功能,但事件方面还不是很完善,有的组件暂时可能还是要用其他方式来实现,这里简单记录下开发小程序自定义组件的要点. 在小程序官方开发组件开发功能之前,自定义组件的 ...

  5. 微信小程序自定义组件,提示组件

    微信小程序自定义组件,这里列举了一个常用的提示自定义组件,调用自定义组件中的方法和字段.仅供参考和学习. 编写组件: 在根目录下添加"components"目录,然后像添加Page ...

  6. html自定义js程序,JS中微信小程序自定义底部弹出框

    实现微信小程序底部弹出框效果,代码分为html,css和js两部分,具体代码详情大家参考下本文. html CSS .commodity_screen { width: 100%; height: 1 ...

  7. 微信小程序自定义组件(二)

    微信小程序自定义组件 ps 由于作业部落貌似出了点问题,耽误了点时间,找了一个stackedit.io准备写.无奈,这是要自己建编辑器的节奏啊.没有一个能靠的注 为何存在组件 组件间的关系 使用rel ...

  8. 微信小程序下拉框插件_微信小程序自定义select下拉选项框组件的实现代码_清玖_前端开发者...

    知识点:组件,animation,获取当前点击元素的索引与内容 微信小程序中没有select下拉选项框,所以只有自定义.自定义的话,可以选择模板的方式,也可以选择组件的方式来创建. 这次我选择了组件, ...

  9. 微信小程序-自定义底部导航

    代码地址如下: http://www.demodashi.com/demo/14258.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.c ...

最新文章

  1. “因人脸识别错误,我被捕了!”
  2. 元宇宙大热后将陷低潮, 虚实互联网更准确, 2030前后才可能全面热启
  3. (0108)iOS开发之Xcode11: 删除默认Main.storyBoard、自定义根控制器
  4. 安全:形式盖过内涵?
  5. [云炬创业基础笔记]第七章创业资源测试2
  6. CMM (软件工程与集成产品开发)
  7. java uml聚合代码_UML类图(下):关联、聚合、组合、依赖
  8. 二分检索函数lower_bound()和upper_bound()
  9. 喇叭正反相位测试音频_FIR滤波器能给音频扩声带来怎样的帮助?
  10. 又一个网页下载者木马
  11. python编写自动化脚本工具_Python自动化构建工具scons使用入门笔记
  12. 查看JDK进程信息的几个命令
  13. IDEA 返回上一步 快捷键
  14. Office Web Add-in的技术原理和开发常见问题剖析
  15. python车辆检测模型_使用OpenCV和Python构建自己的车辆检测模型
  16. 罗永浩以为×××短信给了马化腾一记暴击,实际……
  17. 金彩教育:店铺中的人才布局
  18. 下载源码报错Cannot connect to the Maven process. Try again later. If the problem persists, check the Maven
  19. CG cosh, exp, sinh, smoothstep, tanh, perlin_easeCurve1/2 曲线
  20. Android Studio:增加蒙板/浮层特效

热门文章

  1. vue图片宽高自适应_div或img图片高度随宽度自适应的方法
  2. 计算机中类似派的符号是,符号主义
  3. APP支付之支付宝支付
  4. 关于SpringMVC框架实现简单的文件上传下载(ssm)
  5. 数码相机镜头脏了该如何清洁?
  6. switch语句作用域
  7. 湖南本地购物网站——路在何方
  8. apt-get install -qq 的-qq 什么意思
  9. Android版本第五人格,第五人格华为版
  10. Ubuntu查看PID对应的用户的方法