作者:萌神哆啦A夢,來自原文地址
在小程序的開發(fā)過程中,經(jīng)常需要用到隱藏某個控件這種情況。
因為項目原本是需要將兩個canvas切換,但是小程序的canvas支持的功能實在是少,本來就jQuery mobile或者將canvas轉(zhuǎn)為圖片就可以很容易實現(xiàn)滑動效果,但是都不支持,最后只能是做一個canvas,需要時顯示,不需要時隱藏。
實現(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;
-
}
從上面三個頁面的文件可以很明顯看出邏輯:logs.wxml的onChangeShowState按鈕會在logs.js中觸發(fā)一個事件,它會改變showView的值,而在logs.wxml中會根據(jù)showView的值確定畫布canvas的class屬性,而在logs.wxss中具體再設(shè)置兩個class屬性哪個是否顯示
|