微信小程序|下拉菜單

問題描述html

下拉菜單的運用:小程序

下拉菜單在各種網頁,app或者小程序中都是比較常見的輸入控件。下拉菜單的下拉選項的多少能夠根據自身需求進行調節,常運用於時間範圍選擇,地點區域選擇,價格區間選擇,等等。提供下拉菜單的目的是幫助用戶更快更準確的選擇相關條件。下拉菜單的運用能夠簡化頁面設計,節約空間,在必定程度上簡化設計。其缺點可能就是相比於單項選項卡還不夠直觀,用戶每次想要查看所選選項時都必須打開菜單對選項進行比較。微信小程序

解決方案微信

基本框架:app

微信小程序中是沒有html中的下拉標籤的,因此要實現下拉菜單功能就必須本身動手寫拉。在index.wxml文件中,咱們須要寫好下拉菜單的基礎框架,使用view建立下拉選擇的菜單,這裏建立三個菜單,須要注意的是要加上data-name屬性,用於下面實現選擇菜單後顯示在選擇框裏。分別經過bindtap給「請選擇」的view綁定bindShowMsg方法,給菜單的view綁定mySelect方法,用於在js中實現控制。其中bindtap就是點擊事件在.wxml文件綁定。框架

<viewclass='list-msg2'bindtap='bindShowMsg'>xss

上述代碼就是在一個組件的屬性上添加bindtap並賦予一個值(一個函數名)。當點擊該組件時, 會觸發相應的函數執行。在後臺.js文件中定義tapMessage函數.ide

index.wxml文件代碼以下:函數

<viewclass='list-msg'>動畫

    <viewclass='list-msg1'>

        <text>選擇日期</text>

    </view>

<!--下拉框   -->

    <viewclass='list-msg2'bindtap='bindShowMsg'>

        <text>{{tihuoWay}}</text>

        <imagestyle='height:20rpx;width:20rpx;'src='/images/down.png'></image>

    </view>

<!-- 下拉須要顯示的列表 -->

    <viewclass="select_box"wx:if="{{select}}">

        <viewclass="select_one"bindtap="mySelect"data-name="近兩日">近兩日</view>

        <viewclass="select_one"bindtap="mySelect"data-name="近一週">近一週</view>

        <viewclass="select_one"bindtap="mySelect"data-name="所有記錄">所有記錄</view>

    </view>

</view>

樣式調整:

小程序裏的樣式設置與HTML基本相似,就不一一介紹了。這裏咱們就簡單介紹一下@keyframes規則。在index.wxss文件中咱們使用了以下代碼,其做用是實現下拉過分效果,使用@keyframes動畫實現菜單的漸變打開和關閉動畫。

@keyframesmyfirst {

    from {

        height:0rpx;

    }

    to {

        height:210rpx;

    }

}

使用@keyframe實現下拉過分效果,以百分比來規定改變發生的時間,或者經過關鍵詞「from」 和 「to」,等價於 0% 和 100%。0% 是動畫的開始時間,100% 動畫的結束時間。

js方法:

在index.js頁面,編寫兩個方法,一個是bindShowMsg ()方法,另外一個是mySelect方法,用於實現當選擇了下拉的菜單後顯示菜單內容。代碼以下:

Page({

  /* 頁面的初始數據    */

  data: {

    select: false,

    tihuoWay: '近兩日'

  },

  /*生命週期函數--監聽頁面加載   */

  onLoad: function (options) {

  },

  bindShowMsg() {

    this.setData({

      select: !this.data.select

    })

  },

  mySelect(e) {

    var name = e.currentTarget.dataset.name

    this.setData({

      tihuoWay: name,

      select: false

    })

  },

  /*用戶點擊右上角分享 */

  onShareAppMessage: function () {

  }

})

編譯小程序,預覽小程序運行後的效果:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

圖4.1 效果圖

END


           

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

相關文章
相關標籤/搜索