skeleton.uvue 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <template>
  2. <cl-page>
  3. <view class="p-3">
  4. <demo-item :label="t('文本')">
  5. <cl-skeleton :loading="loading">
  6. <cl-text>云想衣裳花想容,春风拂槛露华浓。</cl-text>
  7. </cl-skeleton>
  8. </demo-item>
  9. <demo-item :label="t('按钮')">
  10. <view class="flex flex-row">
  11. <cl-skeleton type="button" :loading="loading">
  12. <cl-button>立即购买</cl-button>
  13. </cl-skeleton>
  14. </view>
  15. </demo-item>
  16. <demo-item :label="t('图片')">
  17. <cl-skeleton type="image" :loading="loading">
  18. <cl-image
  19. src="https://uni-docs.cool-js.com/demo/pages/demo/static/bg1.png"
  20. ></cl-image>
  21. </cl-skeleton>
  22. </demo-item>
  23. <demo-item :label="t('圆形')">
  24. <cl-skeleton type="circle" :loading="loading">
  25. <cl-image
  26. :radius="100"
  27. src="https://uni-docs.cool-js.com/demo/pages/demo/static/bg1.png"
  28. ></cl-image>
  29. </cl-skeleton>
  30. </demo-item>
  31. <demo-item :label="t('组合')">
  32. <view class="flex flex-row">
  33. <cl-skeleton type="image" loading> </cl-skeleton>
  34. <view class="flex-1 ml-2">
  35. <cl-skeleton type="text" loading> </cl-skeleton>
  36. <cl-skeleton type="text" loading class="mt-2 !w-[160rpx]"> </cl-skeleton>
  37. </view>
  38. </view>
  39. </demo-item>
  40. </view>
  41. </cl-page>
  42. </template>
  43. <script lang="ts" setup>
  44. import { t } from "@/locale";
  45. import DemoItem from "../components/item.uvue";
  46. import { ref } from "vue";
  47. const loading = ref(true);
  48. onReady(() => {
  49. setTimeout(() => {
  50. loading.value = false;
  51. }, 3000);
  52. });
  53. </script>