demo.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. <template>
  2. <div class="demo full">
  3. <h2>基础用法</h2>
  4. <nut-tabbar :tab-List="tabList" @tab-switch="tabSwitch"></nut-tabbar>
  5. <h2>徽标提示</h2>
  6. <nut-tabbar :tab-List="tabList1" @tab-switch="tabSwitch"></nut-tabbar>
  7. <h2>自定义颜色</h2>
  8. <nut-tabbar
  9. unactiveColor="#7d7e80"
  10. activeColor="#1989fa"
  11. :tab-List="tabList"
  12. @tab-switch="tabSwitch"
  13. ></nut-tabbar>
  14. <h2>三个icon的tabbar</h2>
  15. <nut-tabbar
  16. unactiveColor="#7d7e80"
  17. activeColor="#1989fa"
  18. :tab-List="tabList2"
  19. @tab-switch="tabSwitch"
  20. ></nut-tabbar>
  21. <h2>固定底部,可自由跳转</h2>
  22. <nut-tabbar
  23. :tab-List="tabList3"
  24. @tab-switch="tabSwitch"
  25. :bottom="true"
  26. ></nut-tabbar>
  27. </div>
  28. </template>
  29. <script lang="ts">
  30. import { ref, reactive, toRefs } from 'vue';
  31. import { createComponent } from '@/utils/create';
  32. const { createDemo } = createComponent('tabbar');
  33. export default createDemo({
  34. props: {},
  35. setup() {
  36. const tabList = [
  37. {
  38. tabTitle: '首页',
  39. curr: false,
  40. icon: 'home'
  41. },
  42. {
  43. tabTitle: '分类',
  44. curr: false,
  45. icon: 'category'
  46. },
  47. {
  48. tabTitle: '发现',
  49. curr: false,
  50. icon: 'find'
  51. },
  52. {
  53. tabTitle: '购物车',
  54. curr: false,
  55. icon: 'cart'
  56. },
  57. {
  58. tabTitle: '我的',
  59. curr: false,
  60. icon: 'my'
  61. }
  62. ];
  63. const tabList1 = [
  64. {
  65. tabTitle: '首页',
  66. curr: false,
  67. icon: 'home'
  68. },
  69. {
  70. tabTitle: '分类',
  71. curr: false,
  72. icon: 'category'
  73. },
  74. {
  75. tabTitle: '发现',
  76. curr: false,
  77. icon: 'find'
  78. },
  79. {
  80. tabTitle: '购物车',
  81. curr: true,
  82. icon: 'cart',
  83. num: '12'
  84. },
  85. {
  86. tabTitle: '我的',
  87. curr: false,
  88. icon: 'my'
  89. }
  90. ];
  91. const tabList2 = [
  92. {
  93. tabTitle: '首页',
  94. curr: false,
  95. icon: 'home'
  96. },
  97. {
  98. tabTitle: '分类',
  99. curr: false,
  100. icon: 'category'
  101. },
  102. {
  103. tabTitle: '我的',
  104. curr: false,
  105. icon: 'my'
  106. }
  107. ];
  108. const tabList3 = [
  109. {
  110. tabTitle: '首页',
  111. curr: false,
  112. icon: 'home'
  113. },
  114. {
  115. tabTitle: '分类',
  116. curr: false,
  117. icon: 'category'
  118. },
  119. {
  120. tabTitle: '发现',
  121. curr: false,
  122. icon: 'find'
  123. },
  124. {
  125. tabTitle: '购物车',
  126. curr: false,
  127. icon: 'cart',
  128. num: '122'
  129. },
  130. {
  131. tabTitle: '我的',
  132. curr: false,
  133. icon: 'my'
  134. }
  135. ];
  136. function tabSwitch(item: object, index: number) {
  137. console.log(item, index);
  138. }
  139. return {
  140. ...reactive({
  141. tabList,
  142. tabList1,
  143. tabList2,
  144. tabList3
  145. }),
  146. tabSwitch
  147. };
  148. }
  149. });
  150. </script>
  151. <style lang="scss" scoped></style>