upload.uvue 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <template>
  2. <cl-page>
  3. <view class="p-3">
  4. <demo-item :label="t('基础用法')">
  5. <cl-upload v-model="form.upload1"></cl-upload>
  6. </demo-item>
  7. <demo-item :label="t('禁用')">
  8. <cl-upload v-model="form.upload1" disabled></cl-upload>
  9. </demo-item>
  10. <demo-item :label="t('自定义图标、文字、大小')">
  11. <cl-upload
  12. v-model="form.upload1"
  13. icon="id-card-line"
  14. :text="t('上传证件照')"
  15. :width="300"
  16. :height="200"
  17. ></cl-upload>
  18. </demo-item>
  19. <demo-item :label="t('多选')">
  20. <cl-upload multiple v-model="form.upload2"></cl-upload>
  21. </demo-item>
  22. <demo-item :label="t('限制 3 个')">
  23. <cl-upload multiple :limit="3" v-model="form.upload3"></cl-upload>
  24. </demo-item>
  25. </view>
  26. </cl-page>
  27. </template>
  28. <script lang="ts" setup>
  29. import { t } from "@/locale";
  30. import DemoItem from "../components/item.uvue";
  31. import { reactive } from "vue";
  32. type Form = {
  33. upload1: string;
  34. upload2: string[];
  35. upload3: string[];
  36. };
  37. const form = reactive<Form>({
  38. upload1: "",
  39. upload2: [],
  40. upload3: []
  41. });
  42. </script>