progress-circle.uvue 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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="改个颜色">
  20. <cl-switch v-model="isColor"></cl-switch>
  21. </cl-list-item>
  22. <cl-list-item label="显示文本">
  23. <cl-switch v-model="isText"></cl-switch>
  24. </cl-list-item>
  25. <cl-list-item label="快一些">
  26. <cl-switch v-model="isDuration"></cl-switch>
  27. </cl-list-item>
  28. <cl-list-item label="显示文本">
  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. import { ctx } from "@/cool";
  47. const isSize = ref(false);
  48. const isText = ref(true);
  49. const isColor = ref(false);
  50. const isDuration = ref(false);
  51. const value = ref(70);
  52. function add() {
  53. if (value.value < 100) {
  54. value.value += 10;
  55. }
  56. }
  57. function sub() {
  58. if (value.value > 0) {
  59. value.value -= 10;
  60. }
  61. }
  62. </script>