image.uvue 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <template>
  2. <cl-page>
  3. <view class="p-3">
  4. <demo-item :label="t('基础用法')">
  5. <cl-image :src="url"></cl-image>
  6. </demo-item>
  7. <demo-item :label="t('不同裁剪')">
  8. <view class="flex flex-row justify-between">
  9. <view class="flex flex-col items-center justify-center">
  10. <cl-image :src="url" mode="aspectFill"></cl-image>
  11. <cl-text class="!text-sm mt-1">aspectFill</cl-text>
  12. </view>
  13. <view class="flex flex-col items-center justify-center">
  14. <cl-image :src="url" mode="aspectFit"></cl-image>
  15. <cl-text class="!text-sm mt-1">aspectFit</cl-text>
  16. </view>
  17. <view class="flex flex-col items-center justify-center">
  18. <cl-image :src="url" mode="heightFix"></cl-image>
  19. <cl-text class="!text-sm mt-1">heightFix</cl-text>
  20. </view>
  21. <view class="flex flex-col items-center justify-center">
  22. <cl-image :src="url" mode="scaleToFill"></cl-image>
  23. <cl-text class="!text-sm mt-1">scaleToFill</cl-text>
  24. </view>
  25. </view>
  26. </demo-item>
  27. <demo-item :label="t('点击可预览')">
  28. <cl-image :src="url" preview></cl-image>
  29. </demo-item>
  30. <demo-item :label="t('失败时显示')">
  31. <cl-image src="url"></cl-image>
  32. </demo-item>
  33. <demo-item :label="t('加载中')">
  34. <cl-image src=""></cl-image>
  35. </demo-item>
  36. <demo-item :label="t('自定义')">
  37. <cl-image
  38. :src="url"
  39. :height="200"
  40. :width="300"
  41. :pt="{
  42. className: '!rounded-none border border-solid border-surface-200 p-3'
  43. }"
  44. ></cl-image>
  45. </demo-item>
  46. </view>
  47. </cl-page>
  48. </template>
  49. <script lang="ts" setup>
  50. import { ref } from "vue";
  51. import DemoItem from "../components/item.uvue";
  52. import { t } from "@/locale";
  53. const url = ref("https://uni-docs.cool-js.com/demo/pages/demo/static/bg1.png");
  54. </script>