collapse.uvue 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <template>
  2. <cl-page>
  3. <view class="p-3">
  4. <demo-item :label="t('基础用法')">
  5. <cl-button @click="toggle">{{ visible ? t("点击收起") : t("点击展开") }}</cl-button>
  6. <cl-collapse v-model="visible">
  7. <cl-text
  8. >云想衣裳花想容,春风拂槛露华浓,若非群玉山头见,会向瑶台月下逢。</cl-text
  9. >
  10. </cl-collapse>
  11. </demo-item>
  12. <demo-item :label="t('ref 方式调用')">
  13. <cl-button @click="refToggle">{{ t("点击展开") }}</cl-button>
  14. <cl-collapse ref="collapseRef">
  15. <view class="bg-surface-100 p-3 rounded-xl dark:!bg-surface-700">
  16. <cl-text
  17. >云想衣裳花想容,春风拂槛露华浓,若非群玉山头见,会向瑶台月下逢。</cl-text
  18. >
  19. </view>
  20. </cl-collapse>
  21. </demo-item>
  22. </view>
  23. </cl-page>
  24. </template>
  25. <script lang="ts" setup>
  26. import { t } from "@/locale";
  27. import DemoItem from "../components/item.uvue";
  28. import { ref } from "vue";
  29. const visible = ref(false);
  30. function toggle() {
  31. visible.value = !visible.value;
  32. }
  33. const collapseRef = ref<ClCollapseComponentPublicInstance | null>(null);
  34. function refToggle() {
  35. collapseRef.value!.toggle();
  36. }
  37. </script>