slider.uvue 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <template>
  2. <cl-page>
  3. <view class="p-3">
  4. <demo-item :label="t('基础用法')">
  5. <cl-slider v-model="num"></cl-slider>
  6. </demo-item>
  7. <demo-item :label="t('范围选择')">
  8. <cl-text
  9. :pt="{
  10. className: 'mb-3'
  11. }"
  12. >{{ num2[0] }} ~ {{ num2[1] }}</cl-text
  13. >
  14. <cl-slider v-model:values="num2" range></cl-slider>
  15. </demo-item>
  16. <demo-item :label="t('自定义')">
  17. <cl-slider
  18. v-model="num3"
  19. :disabled="isDisabled"
  20. :show-value="isShowValue"
  21. :block-size="isSize ? 50 : 40"
  22. :track-height="isSize ? 12 : 8"
  23. :step="isStep ? 10 : 1"
  24. :max="isMax ? 50 : 100"
  25. ></cl-slider>
  26. <cl-list
  27. border
  28. :pt="{
  29. className: 'mt-3'
  30. }"
  31. >
  32. <cl-list-item :label="t('显示值')">
  33. <cl-switch v-model="isShowValue"></cl-switch>
  34. </cl-list-item>
  35. <cl-list-item :label="t('步长10')">
  36. <cl-switch v-model="isStep"></cl-switch>
  37. </cl-list-item>
  38. <cl-list-item :label="t('滑块大点')">
  39. <cl-switch v-model="isSize"></cl-switch>
  40. </cl-list-item>
  41. <cl-list-item :label="t('最大50')">
  42. <cl-switch v-model="isMax"></cl-switch>
  43. </cl-list-item>
  44. <cl-list-item :label="t('禁用')">
  45. <cl-switch v-model="isDisabled"></cl-switch>
  46. </cl-list-item>
  47. </cl-list>
  48. </demo-item>
  49. </view>
  50. </cl-page>
  51. </template>
  52. <script lang="ts" setup>
  53. import { ref } from "vue";
  54. import DemoItem from "../components/item.uvue";
  55. import { t } from "@/locale";
  56. const num = ref(60);
  57. const num2 = ref<number[]>([10, 20]);
  58. const num3 = ref(35);
  59. const isDisabled = ref(false);
  60. const isShowValue = ref(true);
  61. const isStep = ref(false);
  62. const isSize = ref(false);
  63. const isMax = ref(false);
  64. </script>