set-page-style-disable-pull-down-refresh.uvue 2.3 KB
Newer Older
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 92 93 94 95
<template>
  <page-head title="getCurrentPages"></page-head>
  <view class="uni-padding-wrap">
    <button class="btn btn-get-page-style" type="default" @click="getPageStyle">getPageStyle</button>
    <button class="btn btn-set-page-style-1" type="default" @click="setPageStyle(true)">setPageStyle(true)</button>
    <button class="btn btn-set-page-style-0" type="default" @click="setPageStyle(false)">setPageStyle(false)</button>
    <text class="page-style">当前 PageStyle</text>
    <text class="page-style-value">{{pageStyleText}}</text>
    <text class="status">状态:</text>
    <view class="status-list">
      <text>enablePullDownRefresh: {{enablePullDownRefreshStatus}}</text>
    </view>
    <text class="tips">当前版本仅支持设置属性 enablePullDownRefresh</text>
  </view>
</template>

<script>
  class Page {
    constructor(public route : string) {
    }
  }

  export default {
    data() {
      return {
        checked: false,
        pages: [] as Page[],
        currentPageStyle: {} as UTSJSONObject,
        // TODO
        enablePullDownRefreshStatus: true
      }
    },
    computed: {
      pageStyleText() : string {
        return JSON.stringify(this.currentPageStyle)
      }
    },
    onPullDownRefresh() {
      setTimeout(() => {
        uni.stopPullDownRefresh()
      }, 3000)
    },
    methods: {
      getPageStyle() {
        const pages = getCurrentPages();
        const currentPage = pages[pages.length - 1];
        this.currentPageStyle = currentPage.$getPageStyle();
      },
      setPageStyle(enable : boolean) {
        // 目前仅支持 enablePullDownRefresh
        const pages = getCurrentPages();
        const currentPage = pages[pages.length - 1];
        currentPage.$setPageStyle({
          enablePullDownRefresh: enable
        });
        this.enablePullDownRefreshStatus = enable
      },
      startPullDownRefresh() {
        uni.startPullDownRefresh()
      }
    },
  }
</script>


<style>
  .btn {
    margin-top: 10px;
  }

  .page-style {
    margin-top: 15px;
  }

  .page-style-value {
    margin-top: 5px;
    padding: 5px;
    background-color: #fff;
    width: 100%;
  }

  .status {
    margin-top: 20px;
  }

  .status-list {
    margin-top: 5px;
  }

  .tips {
    font-size: 12px;
    margin-top: 15px;
    opacity: .8;
  }
</style>