topbar.uvue 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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('自定义返回图标')">
  27. <cl-topbar
  28. :title="t('标题')"
  29. back-icon="home-2-line"
  30. :pt="{
  31. back: {
  32. size: 38
  33. }
  34. }"
  35. >
  36. </cl-topbar>
  37. </demo-item>
  38. <demo-item :label="t('自定义返回路径')">
  39. <cl-topbar :title="t('标题')" back-path="/pages/user/login">
  40. <template #prepend>
  41. <cl-text>{{ t("登录") }}</cl-text>
  42. </template>
  43. </cl-topbar>
  44. </demo-item>
  45. <demo-item :label="t('自定义标题内容')">
  46. <cl-topbar>
  47. <cl-tabs v-model="type" :height="66" :list="typeList"></cl-tabs>
  48. </cl-topbar>
  49. </demo-item>
  50. </view>
  51. </cl-page>
  52. </template>
  53. <script lang="ts" setup>
  54. import { t } from "@/locale";
  55. import DemoItem from "../components/item.uvue";
  56. import { ref } from "vue";
  57. import type { ClTabsItem } from "@/uni_modules/cool-ui";
  58. const type = ref("fans");
  59. const typeList = ref<ClTabsItem[]>([
  60. {
  61. label: "我的粉丝",
  62. value: "fans"
  63. },
  64. {
  65. label: "我的关注",
  66. value: "follow"
  67. }
  68. ]);
  69. </script>