article.vue 1.39 KB
<template>
  <div class="page">
    <div @click="click">ArticlePage</div>

    <YohoActionSheet ref="actionSheet">
      <div class="content">
        <template v-if="list.length === 0">
          <Loading class="loading" :size="50"></Loading>
        </template>
        <Scroll ref="scroll" :options="scrollOptions">
              <div v-for="i in list" class="item">huangato{{i}}</div>
        </Scroll>
      </div>
    </YohoActionSheet>
  </div>
</template>

<script>

import {Scroll, Loading} from 'cube-ui';

export default {
  name: 'ArticlePage',
  components: {
    Loading,
    Scroll
  },
  data() {
    return {
      list: [],
      scrollOptions: {
        bounce: false
      }
    };
  },
  methods: {
    click() {
      this.$refs.actionSheet.show();
      setTimeout(() => {
        this.initData();
        this.forceUpdate();
      }, 1000);
    },
    forceUpdate() {
      this.$refs.scroll.forceUpdate();
    },
    initData() {
      for (let i = 0; i < 100; i++) {
        this.list.push(i);
      }
    }

  }
};
</script>

<style>
  .page {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: gray;
  }

  .content {
    width: 100%;
    height: 100vh;
    background-color: white;
  }

  .item {
    background-color: white;
  }

  .loading {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }

</style>