topbar.uvue 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <template>
  2. <cl-page>
  3. <view class="p-3">
  4. <demo-item :label="t('基础用法')">
  5. <cl-topbar :title="t('标题')"> </cl-topbar>
  6. </demo-item>
  7. <demo-item :label="t('插槽')">
  8. <cl-topbar :title="t('标题')">
  9. <template #prepend>
  10. <cl-icon
  11. name="heart-fill"
  12. :size="38"
  13. :pt="{
  14. className: 'ml-2'
  15. }"
  16. ></cl-icon>
  17. </template>
  18. <template #append>
  19. <cl-icon name="search-line" :size="38"></cl-icon>
  20. </template>
  21. </cl-topbar>
  22. </demo-item>
  23. <demo-item :label="t('自定义颜色')">
  24. <cl-topbar :title="t('标题')" color="white" background-color="#409EFF"> </cl-topbar>
  25. </demo-item>
  26. <demo-item :label="t('使用 PT 自定义颜色')">
  27. <cl-topbar
  28. :title="t('标题')"
  29. :pt="{
  30. className: 'bg-surface-800',
  31. title: {
  32. className: 'text-white'
  33. },
  34. back: {
  35. className: 'text-white'
  36. }
  37. }"
  38. >
  39. </cl-topbar>
  40. </demo-item>
  41. <demo-item :label="t('自定义返回图标')">
  42. <cl-topbar
  43. :title="t('标题')"
  44. back-icon="home-2-line"
  45. :pt="{
  46. back: {
  47. size: 38
  48. }
  49. }"
  50. >
  51. </cl-topbar>
  52. </demo-item>
  53. <demo-item :label="t('禁用返回按钮')">
  54. <cl-topbar :title="t('标题')" :backable="false"> </cl-topbar>
  55. </demo-item>
  56. <demo-item :label="t('自定义返回路径')">
  57. <cl-topbar :title="t('标题')" back-path="/pages/user/login">
  58. <template #prepend>
  59. <cl-text>{{ t("登录") }}</cl-text>
  60. </template>
  61. </cl-topbar>
  62. </demo-item>
  63. <demo-item :label="t('自定义标题内容')">
  64. <cl-topbar>
  65. <cl-tabs v-model="type" :height="66" :list="typeList"></cl-tabs>
  66. </cl-topbar>
  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 { ref } from "vue";
  75. import type { ClTabsItem } from "@/uni_modules/cool-ui";
  76. const type = ref("fans");
  77. const typeList = ref<ClTabsItem[]>([
  78. {
  79. label: "我的粉丝",
  80. value: "fans"
  81. },
  82. {
  83. label: "我的关注",
  84. value: "follow"
  85. }
  86. ]);
  87. </script>