list.uvue 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <template>
  2. <cl-page>
  3. <view class="p-3">
  4. <demo-item :label="t('基础用法')">
  5. <cl-list-item :label="t('用户名')">
  6. <cl-text>神仙都没用</cl-text>
  7. </cl-list-item>
  8. </demo-item>
  9. <demo-item :label="t('内容靠左')">
  10. <cl-list-item :label="t('QQ')" justify="start">
  11. <cl-text>615206459</cl-text>
  12. </cl-list-item>
  13. </demo-item>
  14. <demo-item :label="t('带箭头')">
  15. <cl-list-item label="年龄" arrow>
  16. <cl-text>18</cl-text>
  17. </cl-list-item>
  18. </demo-item>
  19. <demo-item :label="t('带图标')">
  20. <cl-list-item :label="t('余额')" icon="wallet-line">
  21. <cl-text>10,9000</cl-text>
  22. </cl-list-item>
  23. </demo-item>
  24. <demo-item :label="t('折叠')">
  25. <cl-list-item :label="t('点击展开')" collapse arrow>
  26. <template #collapse>
  27. <view class="bg-surface-100 dark:bg-surface-700 p-3 rounded-xl">
  28. <cl-text
  29. >云想衣裳花想容,春风拂槛露华浓。若非群玉山头见,会向瑶台月下逢。</cl-text
  30. >
  31. </view>
  32. </template>
  33. </cl-list-item>
  34. </demo-item>
  35. <demo-item :label="t('可滑动')">
  36. <cl-list-item :label="t('左滑编辑')" swipeable>
  37. <template #swipe-right>
  38. <view
  39. class="bg-green-500 w-20 h-full flex flex-row items-center justify-center"
  40. >
  41. <text class="text-white text-md">{{ t("编辑") }}</text>
  42. </view>
  43. </template>
  44. </cl-list-item>
  45. <cl-list-item ref="listItemRef" :label="t('右滑删除')" swipeable>
  46. <template #swipe-left>
  47. <view
  48. class="bg-red-500 w-20 h-full flex flex-row items-center justify-center"
  49. @tap="onDelete"
  50. >
  51. <text class="text-white text-md">{{ t("删除") }}</text>
  52. </view>
  53. </template>
  54. </cl-list-item>
  55. </demo-item>
  56. <demo-item :label="t('禁用')">
  57. <cl-list-item :label="t('账号')" disabled>
  58. <cl-text>1234567890</cl-text>
  59. </cl-list-item>
  60. </demo-item>
  61. <demo-item :label="t('列表')">
  62. <cl-list border>
  63. <cl-list-item :label="t('我的订单')" hoverable> </cl-list-item>
  64. <cl-list-item :label="t('我的收藏')" hoverable> </cl-list-item>
  65. <cl-list-item :label="t('我的钱包')" hoverable> </cl-list-item>
  66. </cl-list>
  67. </demo-item>
  68. </view>
  69. </cl-page>
  70. </template>
  71. <script lang="ts" setup>
  72. import { t } from "@/locale";
  73. import DemoItem from "../components/item.uvue";
  74. import { useUi } from "@/uni_modules/cool-ui";
  75. import { ref } from "vue";
  76. const ui = useUi();
  77. const listItemRef = ref<ClListItemComponentPublicInstance | null>(null);
  78. function onDelete() {
  79. ui.showToast({
  80. message: "删除成功"
  81. });
  82. listItemRef.value!.resetSwipe();
  83. }
  84. </script>