sticky-header.uvue 2.6 KB
Newer Older
DCloud-WZF's avatar
DCloud-WZF 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
<template>
  <list-view :scroll-y="true" class="page" rebound="false" show-scrollbar=false :scroll-top="scroll_top_input"
    :refresher-enabled="refresher_enabled_boolean" :refresher-triggered="refresher_triggered_boolean"
    @refresherrefresh="list_view_refresherrefresh">
    <list-item type=1>
      <swiper indicator-dots="true" circular="true" style="height: 240px;">
        <swiper-item v-for="i in 3" :item-id="i + ''">
          <image src="/static/shuijiao.jpg" style="height: 240px; width: 100%;"></image>
          <text style="position: absolute;">{{i}}</text>
        </swiper-item>
      </swiper>
    </list-item>
    <list-item class="content-item" type=2>
      <text class="text">向上滑动页面,体验sticky-header吸顶效果。</text>
    </list-item>
    <sticky-header>
      <scroll-view style="background-color: #f5f5f5; flex-direction: row;" direction="horizontal"
        :show-scrollbar="false">
        <view style="align-self: flex-start; flex-direction: row;">
          <text ref="swipertab" class="sift-item" v-for="(name,index) in sift_item" @click="clickTH(index)">
            {{name}}
          </text>
        </view>
      </scroll-view>
    </sticky-header>

    <list-item v-for="(item,index) in list_item" :key="index" class="content-item" type=3>
      <text class="text">{{item}}</text>
    </list-item>
  </list-view>
</template>

<script>
  export default {
    data() {
      return {
        sift_item: ["排序", "筛选"],
        list_item: [] as Array<string>,
        refresher_enabled_boolean: true,
        refresher_triggered_boolean: false,
        scroll_top_input: 0
      }
    },
    onLoad() {
      let lists : Array<string> = []
      for (let i = 0; i < 40; i++) {
        lists.push("item---" + i)
      }
      this.list_item = lists
    },
    methods: {
      list_view_refresherrefresh() {
        console.log("下拉刷新被触发 ")
        this.refresher_triggered_boolean = true
        setTimeout(() => {
          this.refresher_triggered_boolean = false
        }, 1500)
      },
      confirm_scroll_top_input(value : number) {
        this.scroll_top_input = value
      },
      clickTH(index : number) {
        console.log("点击表头:" + index);
      }
    }
  }
</script>

<style>
  .page {
    flex: 1;
    background-color: #f5f5f5;
  }

  .content-item {
    padding: 15px;
    margin-bottom: 10px;
    background-color: #fff;
  }

  .text {
    font-size: 14px;
    color: #666;
    line-height: 20px;
  }

  .sift-item {
    color: #555;
    font-size: 16px;
    padding: 12px 15px;
  }
shutao-dc's avatar
shutao-dc 已提交
92
</style>