微信小程序 實(shí)現(xiàn)動(dòng)態(tài)顯示和隱藏某個(gè)控件
在小程序的開(kāi)發(fā)過(guò)程中,經(jīng)常需要用到隱藏某個(gè)控件這種情況。
因?yàn)轫?xiàng)目原本是需要將兩個(gè)canvas切換,但是小程序的canvas支持的功能實(shí)在是少,本來(lái)就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)聽(tīng)頁(yè)面加載 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è)頁(yè)面的文件可以很明顯看出邏輯:logs.wxml的onChangeShowState按鈕會(huì)在logs.js中觸發(fā)一個(gè)事件,它會(huì)改變showView的值,而在logs.wxml中會(huì)根據(jù)showView的值確定畫(huà)布canvas的class屬性,而在logs.wxss中具體再設(shè)置兩個(gè)class屬性哪個(gè)是否顯示
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
|
新聞熱點(diǎn)
疑難解答
圖片精選