progress-circle.uvue 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <template>
  2. <cl-page>
  3. <view class="p-3">
  4. <demo-item :label="t('自定义')">
  5. <cl-progress-circle
  6. :value="value"
  7. :color="isColor ? 'red' : null"
  8. :un-color="isColor ? '#f7bfbf' : null"
  9. :size="isSize ? 80 : 120"
  10. :show-text="isText"
  11. :duration="isDuration ? 200 : 500"
  12. ></cl-progress-circle>
  13. <cl-list
  14. border
  15. :pt="{
  16. className: 'mt-5'
  17. }"
  18. >
  19. <cl-list-item :label="t('改个颜色')">
  20. <cl-switch v-model="isColor"></cl-switch>
  21. </cl-list-item>
  22. <cl-list-item :label="t('显示文本')">
  23. <cl-switch v-model="isText"></cl-switch>
  24. </cl-list-item>
  25. <cl-list-item :label="t('快一些')">
  26. <cl-switch v-model="isDuration"></cl-switch>
  27. </cl-list-item>
  28. <cl-list-item :label="t('显示文本')">
  29. <cl-button type="light" size="small" icon="add-line" @tap="add"></cl-button>
  30. <cl-button
  31. type="light"
  32. size="small"
  33. icon="subtract-line"
  34. @tap="sub"
  35. ></cl-button>
  36. </cl-list-item>
  37. </cl-list>
  38. </demo-item>
  39. </view>
  40. </cl-page>
  41. </template>
  42. <script lang="ts" setup>
  43. import { ref } from "vue";
  44. import { t } from "@/locale";
  45. import DemoItem from "../components/item.uvue";
  46. const isSize = ref(false);
  47. const isText = ref(true);
  48. const isColor = ref(false);
  49. const isDuration = ref(false);
  50. const value = ref(70);
  51. function add() {
  52. if (value.value < 100) {
  53. value.value += 10;
  54. }
  55. }
  56. function sub() {
  57. if (value.value > 0) {
  58. value.value -= 10;
  59. }
  60. }
  61. </script>