tabBar.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. // component/tabBar/tabBar.ts
  2. Component({
  3. /**
  4. * 组件的属性列表
  5. */
  6. properties: {
  7. //接收的json,用来显示tab
  8. tabItemJson: {
  9. type: Array,
  10. value: []
  11. },
  12. //默认点击第几个(默认第一个)
  13. initTabIndex: {
  14. type: Number,
  15. value: 0
  16. }
  17. },
  18. /**
  19. * 组件的初始数据
  20. */
  21. data: {
  22. currentTab: 0,
  23. },
  24. lifetimes: {
  25. attached: function () {
  26. // 在组件实例被从页面节点树添加时执行
  27. this.initTab(this.properties.initTabIndex)
  28. },
  29. detached: function () {
  30. // 在组件实例被从页面节点树移除时执行
  31. },
  32. },
  33. /**
  34. * 组件的方法列表
  35. */
  36. methods: {
  37. //选择某一项并且给上层id
  38. bindTabItem: function (event: any) {
  39. this.initTab(Number(event.target.id))
  40. },
  41. initTab: function (index: any) {
  42. this.setData({
  43. currentTab: index
  44. })
  45. this.triggerEvent('selectItemIndex', { selectIndex: index });
  46. }
  47. }
  48. })