小程序自定义组件如何自适应高度
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小程序自定义组件如何自适应高度相关的知识,希望对你有一定的参考价值。
参考技术A 下图可以看出:在做一个展示聊天消息的组件时,由于“组件高度”依赖于聊天内容,所以导致没有显式指定组件高度的情况下出现内容层叠问题。在Component的ready中计算组件的实际高度然后通过setData()来设置即可。
wxml:
js:
解释:
通过“#msg-content”获取内容视图的node,并通过node.boundingClientRect()来获取内容视图的尺寸,并加上其他的固定部分的高度最终计算出组件的高度。
单位统一使用rpx。
结果如下所示:
小程序 textarea高度自适应?
有一个textarea,初始样式200rpx,但是这个高度是自适应的,用户可以随意输入内容textarea高度随之变化,但是超过多少高度后用户又不能再输入了。
这个需求怎么做,求大佬指点
解决方法:
/*XXX.wxss*/
page
height: 100%;
/*也就是把当前页面高度设置100%*/
1
2
3
4
5
这个不仅仅是设置textarea高度时会出现,其他的一些组件也会有这个问题,都可以试试这个方法
二、设置textarea自适应高度,输入过长内容且textarea失去焦点后,高度会变小,使得用户体验较差
解决方法:
/*XXX.wxml*/
<textarea auto-height="auto_height" bindblur='areablur' bindfocus='areafocus'/>
/*XXX.wxss*/
textarea
height: 30px;
/*设置合适高度作为默认高度*/
/*XXX.js*/
...
data:
auto_height:true
//当textarea获取焦点时自适应高度,失去焦点时不自适应高度
//自适应高度时,style中的height无效
,
...
areablur:function()
this.setData(
auto_height:false
)
,
areafocus:function()
this.setData(
auto_height: true
)
以上是关于小程序自定义组件如何自适应高度的主要内容,如果未能解决你的问题,请参考以下文章