91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序中選項卡的實現方法

發布時間:2021-01-28 10:38:41 來源:億速云 閱讀:283 作者:小新 欄目:移動開發

小編給大家分享一下微信小程序中選項卡的實現方法,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

思路

  • 之前寫過基于swiper的選項卡,在小程序中有swiper組件,毫無疑問這里要用到swiper組件

  • 小程序中的swiper組件有個問題就是不能根據內容自適應高度,所以要通過wx.getSystemInfoSync獲取設備高度設置swiper高度

  • 小程序中的swiper組件中swiper-item內容超出可視區后無法滾動顯示,所以這里要用到另一個組件scroll-view。

小程序中的swiper組件功能還是比較有限的,有待優化。

方案

1.首先在js中設置數據

 data: {
    tabs: ['菜單一', '菜單二'],// 導航菜單欄
    curIdx:0,// 當前導航索引
    scrollHeight:0, //滾動高度 = 設備可視區高度 -  導航欄高度
    list:[],// 內容區列表
  },

在onLoad函數中填充數據

  /**
   * 生命周期函數--監聽頁面加載
   */
  onLoad: function (options) {
    let list=[];
    for (let i=1;i<=30;i++){
      list.push(i)
    }
    this.setData({
      list: list
    });
  },

2.在WXML中循環渲染出導航

<!-- 導航欄開始 -->
<view class="swiper-tab">
  <view wx:for="{{tabs}}" wx:key class="swiper-tab-item {{curIdx==index?'swiper-active':''}}" data-current="{{index}}" catchtap="clickTab">
    <text>{{item}}</text>
  </view>
</view>

3.設置當前活動導航樣式

/*初始化樣式*/
view, text, picker, input, button, image{
  display: flex;
  box-sizing: border-box;
}
/* 導航樣式*/
.swiper-tab {
  position: relative;
  width: 100%;
  height: 100rpx;
  justify-content: center;
  align-items: center;
}

.swiper-tab-item {
  background-color: #f3f3f3;
  width: 50%;
  height: 80rpx;
  justify-content: center;
  align-items: center;
}
.swiper-active{
  background-color: rgb(129, 190, 247);
  color: #fff;
}

4.內容顯示區

內容顯示區使用swiper組件,swiper-item個數要與tabs數組長度 一致

<!-- 內容開始 -->
<swiper class="swiper_content" current="{{curIdx}}"   bindchange="swiperTab" style='height:{{scrollHeight}}px'>
  <swiper-item>
    <scroll-view class="scroll-y" scroll-y style='height:{{scrollHeight}}px' bindscrolltolower="onReachBottom">
    <view wx:for="{{list}}" wx:key>
      <text> 內容一{{item}}</text>
    </view>
        </scroll-view>
  </swiper-item>
  <swiper-item>
    內容二
  </swiper-item>
</swiper>

小程序中的swiper組件有個問題就是不能根據內容自適應高度,所以要通過[wx.getSystemInfoSync][4]獲取設備高度設置swiper高度
小程序中的swiper組件中swiper-item內容超出可視區后無法滾動顯示,所以這里要用到另一個組件[scroll-view][5]。
我們在onShow函數中通過getSystemInfoSync獲取設備的寬高來設置swiper組件高度以及scroll-view高度

  onShow: function () {
    // 100為導航欄swiper-tab 的高度
   this.setData({
     scrollHeight: wx.getSystemInfoSync().windowHeight - (wx.getSystemInfoSync().windowWidth / 750 * 100),
   })
  },

5.點擊導航欄切換內容

  //點擊切換
  clickTab: function (e) {
    this.setData({
      curIdx: e.currentTarget.dataset.current
    })
  },

6.滑動內容切換導航欄

  //滑動切換
  swiperTab: function (e) {
    this.setData({
      curIdx: e.detail.current
    });
  },

7.可滾動區域滾動最底刷新數據

  /**
 * 頁面上拉觸底事件的處理函數
 */
  onReachBottom: function () {
    // 更新列表
    let list = this.data.list;
    console.log(list)
    let lens = list.length
    for (let i = lens; i < lens+30; i++) {
      list.push(i)
    }
    this.setData({
      list: list
    });
  
  },

看完了這篇文章,相信你對“微信小程序中選項卡的實現方法”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

双牌县| 石家庄市| 新平| 马鞍山市| 南川市| 四川省| 花垣县| 卢氏县| 中宁县| 通榆县| 盈江县| 清河县| 方城县| 巫溪县| 普兰店市| 米泉市| 二连浩特市| 福鼎市| 宁南县| 南木林县| 房产| 阜宁县| 南汇区| 武宁县| 安福县| 桑植县| 汝南县| 南京市| 禄劝| 宜良县| 克什克腾旗| 沾化县| 邳州市| 宁安市| 温泉县| 金寨县| 板桥市| 芜湖市| 重庆市| 公主岭市| 合作市|