index.vue 919 B

12345678910111213141516171819202122232425262728293031
  1. <template>
  2. <view v-if="!loading">
  3. <slot></slot>
  4. </view>
  5. <view v-else class="skeleton">
  6. <view class="skeleton-animation" v-if="animated"></view>
  7. <view class="content">
  8. <nut-avatar
  9. v-if="avatar"
  10. :class="avatarClass"
  11. :shape="avatarShape"
  12. :style="getStyle()"
  13. bg-color="rgb(239, 239, 239)"
  14. ></nut-avatar>
  15. <view v-if="Number(row) == 1" :class="blockClass" :style="{ width, height }"> </view>
  16. <view class="content-line">
  17. <view v-if="title" class="title"></view>
  18. <view v-for="(item, index) in Number(row)" :key="index" :class="blockClass" :style="{ width, height }"> </view
  19. ></view>
  20. </view>
  21. </view>
  22. </template>
  23. <script lang="ts">
  24. import { createComponent } from '../../utils/create';
  25. import { component } from './common';
  26. const { create } = createComponent('skeleton');
  27. export default create(component);
  28. </script>