开发微信小程序时,如何隐藏控件

开发微信小程序时,如何隐藏控件,第1张

微信小程序动态唤握显示和隐藏某个控件新手教程。在小程序的开发过程中,经常需要用到隐藏某个控件这种情况。

因为项目原斗卖本是需要将两个canvas切换,但是小程序的canvas支持的功能实在是少,本来就jQuery mobile或者将canvas转为图片就可以很容易实现滑动效果,但是都不支持,最后只能是做一个canvas,需要时显示,不需要时隐藏。

实现方法:

logs.wxml

?

123456

<view> <button bindtap="onChangeShowState">{{showView?'Click To Check IdleReason':'Click To Check MTStatus'}}</button></view><view class="{{showView?'空链逗bright789_view_show':'bright789_view_hide'}}"> <canvas canvas-id="pieCanvas1" ></canvas></view>

logs.js

?

123456789101112131415

Page({ data: { showView: true }, onLoad: function (options) { // 生命周期函数--监听页面加载 showView: (options.showView == "true" ? true : false) } , onChangeShowState: function () { var that = thisthat.setData({ showView: (!that.data.showView) }) }, })

logs.wxss

?

123456

.bright789_view_hide{ display: none} .bright789_view_show{ display: block}

从上面三个页面的文件可以很明显看出逻辑:logs.wxml的onChangeShowState按钮会在logs.js中触发一个事件,它会改变showView的值,而在logs.wxml中会根据showView的值确定画布canvas的class属性,而在logs.wxss中具体再设置两个class属性哪个是否显示

wx:if 与hidden都可以控制微信小程序中的元素的显示与否。

先演示下两种方式的山岁蠢使用

wx:if 的使用

wx:if 还可以配合wx:else 使用,用来显示隐藏不同的控件

当isShow true显示test 隐藏test1;当isShow false时显示test1 隐藏test

hidden的使用

当isHidden true时 test隐藏 isHidden false时 test显示

wx:if 和hidden的差别

wx:if的隐藏是不渲染控件

hidden的隐藏是渲染控件,但是不显示

看下面效果

在xml布局中可以看到显示了三个控件,hidden隐藏的部分依然被渲染。

在实际开发过程中,如果频繁切换的话,用wx:if因为逗陪要雀租频繁销毁和渲染,会消耗更多的资源。

如果不是频繁切换可以考虑使用wx:if,防止页面初始化时一下渲染那么多。


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

原文地址: http://outofmemory.cn/yw/12558642.html

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

发表评论

登录后才能评论

评论列表(0条)

保存