小程序打开javaweb页面太小了

小程序打开javaweb页面太小了,第1张

,只能滚动

如果使用的是小程序的原生oage,可以使用wxgetSystemInfo接口来获取设备的各种信息(包括屏幕宽高),然后根据实际情况来计算页面需要的高度

如果页面是用h5写的,可以在页面加载完成后,动态添加weui-page__bd的高度,然后将页面内容以外的滚动条隐藏掉:

<script type="text/javascript">

windowonload=function(){

//获取page容器标签

var pageElem=documentgetElementsByClassName('weui-page__bd')[0];

//获取设备的高度

var windowHeight=windowscreenheight;

pageElemstyleheight=windowHeight+"px";

}

</script>

由于不同设备高度不同,所以box部分的高度需要是动态的;

有两种处理方式:

可以看到预览完全没问题,接下来往里面放一个滚动视图scroll-view,设置为可以垂直滚动,高度设置为100%样式

我发现一个tip,其实只要给外围的box一个高度即可,随便一个高度,因为设置了flex拉伸级别,这个高度不影响拉伸;在H5中是没意义的,但是这里可以解决问题;

scroll-view为滚动视图,分为水平滚动和垂直滚动。

注意滚动视图垂直滚动时一定要设置高度否则的话scroll-view不会生效。

滚动视图常用的地方一般都是Item项比较多的界面,!

可以尝试一下横屏的状态下。

出现细微的偏差很正常。

在智能小程序的开发过程中,开发者通过使用Input组件的focus和blur属性来控制键盘。

    实现轮播功能且高度要自适应。

    使用小程序自带组件swiper。

     关键点 :就是要计算出当前的高度并赋值给swiper高度。需要计算是由于swiper必须指定高度不能像div一样自动撑开。

    难点:

    1、问题:切换页面返回 由onhide—>onshow时,出现所有的高度会保持在最后计算出的那个值,导致高度自适应效果失效。

         原因:是由于此时imageLoad不再监听。

         解决办法:watch列表,给url加参数(时间戳),使其每次都重新加载,使imageLoad监听。

    2、问题:切换到后台再返回到前台时,初始高度会保持出现在第一张的高度,若切换时非第一张,就会导致给当前高度不正确,被遮挡或者有大片空白。

         原因:给swiper赋值的是 列表里第一张的高度。

         解决办法:后台切回前台时,appdata是保持不变的,而当前排位已被保存变量,所以取当前的高度赋值给swiper高度。

    3、问题:此组件所在页面,下面有跳转到当前页的业务需要,只是渲染数据不同。当返回前一个页面时,初始高度还保留着返回前最后一次的高度,与当前页当前高度不符。

         原因:同页面切换时,appdata没有重新赋值的话就不会变化,最后当前变量取值了最后出现的那个页面的当前。

        解决办法:每切换到一个页面时,在组件里,缓存以页面数:当前为键值的currents对象。返回到某个页面时,通过当前页面数取得当前,从而获得当前初始高度。

PS : 在设计和解决这些难点时,均遵循着组件的高内聚、低耦合原则,使得更具复用性、稳定性、无依赖。

ps:很多时候开始发现是未解的,待解决之后发现原来并没什么,

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9678328.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存