微信小程序原生自定义组件布局问题
问题复现
<view class="intro">欢迎使用代码片段,可在控制台查看代码片段的说明和文档<view class="flex-box"><!-- avatar自定义组件内容:<view class="avatar"></view> ---><avatar></avatar><avatar></avatar><avatar></avatar></view><view class="flex-box"><view class="avatar"></view><view class="avatar"></view><view class="avatar"></view></view>
</view>
.flex-box{display: flex;justify-content: center;
}
/* 自定义组件的样式隔离设置为apply-shared,使其样式能够受到外部组件影响 */
.avatar{width: 20%;height: 100px;margin: 5px;background-color: red;
}
.avatar:nth-child(2n){width: 20%;height: 100px;margin: 5px;background-color: green;
}
原因分析
在调试器中查看渲染树可以看到,小程序在渲染自定义组件avatar的时候,会额外添加结点,使得其内部的样式会出现一些奇怪的问题,受影响较大的是flex、grid布局等,用来确定布局内容间隔而用的css选择器::nth-child(n) 等皆会受到影响。
解决方法
微信小程序官方在2.11.2版本开始支持 虚拟化结点,可以使组件本身的结点(也就是我们认为多出来的结点)消失,直接展示内部内容。
只需要在子组件js中加入以下配置:
渲染树就会如我们所想的那样展示了,不再会有多的结点。页面内容也如我们所愿。
微信小程序原生自定义组件布局问题相关推荐
- 微信小程序 配置自定义组件代码按需注入 lazyCodeLoading
微信小程序 配置自定义组件代码按需注入 lazyCodeLoading 官方网址 在app.json最后一行加上,就可以了. "lazyCodeLoading": "re ...
- 微信小程序的自定义组件(2)
文章目录 6. 组件的生命周期 7. 组件所在页面的生命周期 8. 组件插槽 9. 组件父子组件间的通信 10. 组件-behaviors 6. 组件的生命周期 created attached re ...
- 微信小程序(自定义组件)
文章目录 自定义组件 创建自定义组件 引用组件 组件和页面的区别 自定义组件的样式 样式隔离 修改样式隔离选项 组件的data和methods 组件的properties 数据监听 使用纯数据字段提升 ...
- 微信小程序之自定义组件(微信小程序完结)
微信小程序 自定义组件 类似vue或者react中的自定义组件, 小程序允许我们使用自定义组件的方式来构建页面. 1.1 创建自定义组件 类似于页面,一个自定义组件由 json, wxml, wxss ...
- 微信小程序之自定义组件的使用、介绍、案例分享
微信小程序自定义组件介绍 自定义组件发开文档 类似vue或者react中的自定义组件, 小程序允许我们使用自定义组件的方式来构建页面. 自定义组件的使用 1. 创建组件(js,json,wxml,wx ...
- 微信小程序中自定义组件
文章目录 小程序项目 app.json pages/index/index.wxml pages/index/index.wxss pages/index/index.js 自定义组件 compone ...
- 微信小程序_自定义组件_初体验
自定义组件是微信小程序中重要的组成部分,是实现模块化开发的重要手段 个人认为,自定义组件是区分菜鸟与高手的分水岭 第一篇先介绍小程序自定义组件的基本使用 自定义组件的使用可以分为如下几个步骤 创建组件 ...
- 微信小程序原生表格组件
cv大法:先找个差不多实现基本功能的组件 源代码:GitHub - zss823158062/senx-table: 微信小程序 表格组件 lrjTable 然后在上面做优化: 1.优化了按钮点击bu ...
- 【微信小程序】自定义组件的实现及数据交互
简单的自定义组件 本文的使用场景是:多个页面都需要用到拨打电话功能,为减少代码量.便于维护,所以自定义了一个组件,每个页面直接调用即可.基本实现下图样式: 下面我们来一步步的实现它: step1:创建 ...
- 微信小程序 - 在自定义组件中请求后端 API 数据接口(引入该组件的页面触发)组件在哪个生命周期钩子函数中请求接口数据呢?
前言 我开发了一个 A 页面,然后在 A 页面引入了一个组件 B ,我想在 B 组件中加载进来的时候执行一个后端请求,获取数据进行 B 组件渲染. 今天遇到这么一个问题,我写好的小程序 组件(comp ...
最新文章
- the job was canceled什么意思_这些英语短语,因为相差一个“the”导致意思大不相同!...
- PyTorch 1.9发布!移动端疯狂更新,网友:我的最爱
- java exec 空格_java exec 空格及特殊符号处理的解决方案
- 7.使用php描述冒泡排序,PHP 数据结构 算法描述 冒泡排序 bubble sort
- 努比亚z17s刷原生安卓_MIUI 10抢先适配安卓Q,米粉火速刷机,存在这些问题
- hadoop 2.4.1 集群安装二
- Kubernetes集群(概念篇)
- css div滚动_如何使用CSS创建可垂直滚动的div?
- mysql忘记密码找回密码_MySQL忘记密码找回 重置MySQL root用户密码
- 新浪微博分享 小记!!!(尚未成功)
- 清理了两位同事的机器,走人时要自行清理
- MongoDB自定义函数部分 定义及引用
- net导出到excel数字变为科学技术法
- java雪花算法实现
- 量子计算机大致原理,通俗简介量子计算机原理
- 英语四六级保命班笔记
- uni-app微信公众号登录
- 热搜第一!名校博士挤破头进中学当老师,甚至还有颜宁弟子......
- springboot毕设项目医院管理系统3dra6(java+VUE+Mybatis+Maven+Mysql)
- NOIP2009年普及组初赛试题答案及解析
热门文章
- 项目:调用百度API实现图像识别
- 卷积码主要是对抗_采用卷积编码的原因和优势 浅析卷积码之特点
- 新会计准则对传统会计理论的七大变革
- 服务器lsass系统错误,lsass.exe系统错误如何解决?
- pcsx2 模拟器 玩 psp 游戏 龙珠z:传奇
- Pdf2cad v12(顶级pdf转cad软件)官方正式版V12.2020.12 | pdf转cad软件中文版下载 | 比pdf2cadv9更强
- 【ROM制作工具】线刷包转卡刷包制作教程
- 计算机硬件故障诊断的原则,计算机硬件常见故障诊断和维护.doc
- 视频教程-VB程序设计入门基础-其他
- MySQL8.0和MySQL 5的不同