image.uvue 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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. <view class="flex flex-row">
  38. <cl-image
  39. :src="url"
  40. :pt="{
  41. inner: {
  42. className: '!rounded-none'
  43. }
  44. }"
  45. ></cl-image>
  46. <cl-image
  47. :src="url"
  48. :pt="{
  49. className: 'ml-3',
  50. inner: {
  51. className: '!rounded-2xl'
  52. }
  53. }"
  54. ></cl-image>
  55. <cl-image
  56. :src="url"
  57. :pt="{
  58. className: 'ml-3',
  59. inner: {
  60. className: '!rounded-3xl'
  61. }
  62. }"
  63. ></cl-image>
  64. <cl-image
  65. :src="url"
  66. :pt="{
  67. className: 'ml-3',
  68. inner: {
  69. className: '!rounded-full'
  70. }
  71. }"
  72. ></cl-image>
  73. </view>
  74. </demo-item>
  75. </view>
  76. </cl-page>
  77. </template>
  78. <script lang="ts" setup>
  79. import { ref } from "vue";
  80. import DemoItem from "../components/item.uvue";
  81. import { t } from "@/locale";
  82. const url = ref("https://unix.cool-js.com/images/demo/avatar.jpg");
  83. </script>