upload.uvue 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <template>
  2. <cl-page>
  3. <view class="p-3">
  4. <demo-item :label="t('基础用法')">
  5. <cl-upload v-model="form.upload1" test></cl-upload>
  6. </demo-item>
  7. <demo-item :label="t('禁用')">
  8. <cl-upload v-model="form.upload1" disabled test></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. test
  18. :pt="{
  19. icon: {
  20. size: 40
  21. },
  22. text: {
  23. size: 12
  24. }
  25. }"
  26. ></cl-upload>
  27. </demo-item>
  28. <demo-item :label="t('多选')">
  29. <cl-upload multiple v-model="form.upload2" test></cl-upload>
  30. </demo-item>
  31. <demo-item :label="t('限制 3 个')">
  32. <cl-upload multiple :limit="3" v-model="form.upload3" test></cl-upload>
  33. </demo-item>
  34. </view>
  35. </cl-page>
  36. </template>
  37. <script lang="ts" setup>
  38. import { t } from "@/.cool";
  39. import DemoItem from "../components/item.uvue";
  40. import { reactive } from "vue";
  41. type Form = {
  42. upload1: string;
  43. upload2: string[];
  44. upload3: string[];
  45. };
  46. const form = reactive<Form>({
  47. upload1: "",
  48. upload2: [],
  49. upload3: []
  50. });
  51. </script>