|
作者:萌神哆啦A夢,來自原文地址
在小程序的開發(fā)過程中,經(jīng)常需要用到隱藏某個(gè)控件這種情況。
因?yàn)轫?xiàng)目原本是需要將兩個(gè)canvas切換,但是小程序的canvas支持的功能實(shí)在是少,本來就jQuery mobile或者將canvas轉(zhuǎn)為圖片就可以很容易實(shí)現(xiàn)滑動(dòng)效果,但是都不支持,最后只能是做一個(gè)canvas,需要時(shí)顯示,不需要時(shí)隱藏。
實(shí)現(xiàn)方法:
logs.wxml
-
<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" style="width:400px;height:280px;"></canvas>
-
</view>
logs.js
-
Page({
-
data: {
-
showView: true
-
},
-
onLoad: function (options) {
-
// 生命周期函數(shù)--監(jiān)聽頁面加載
-
showView: (options.showView == "true" ? true : false)
-
}
-
, onChangeShowState: function () {
-
var that = this;
-
that.setData({
-
showView: (!that.data.showView)
-
})
-
},
-
})
logs.wxss
-
.bright789_view_hide{
-
display: none;
-
}
-
.bright789_view_show{
-
display: block;
-
}
從上面三個(gè)頁面的文件可以很明顯看出邏輯:logs.wxml的onChangeShowState按鈕會(huì)在logs.js中觸發(fā)一個(gè)事件,它會(huì)改變showView的值,而在logs.wxml中會(huì)根據(jù)showView的值確定畫布canvas的class屬性,而在logs.wxss中具體再設(shè)置兩個(gè)class屬性哪個(gè)是否顯示
|