index.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import TabMenu from './tabsets'
  2. Component({
  3. data: {
  4. active: 0,
  5. list: TabMenu,
  6. theme: {
  7. custom: {
  8. colorPrimary: '#eda92a',
  9. },
  10. },
  11. height: 0,
  12. },
  13. lifetimes: {
  14. // attached() {
  15. // wx.createSelectorQuery()
  16. // .in(this)
  17. // .select('.t-tab-bar')
  18. // .boundingClientRect((rect) => {
  19. // if (rect) {
  20. // console.log(rect)
  21. // this.setData({
  22. // height: rect.height,
  23. // })
  24. // }
  25. // })
  26. // .exec()
  27. // },
  28. },
  29. methods: {
  30. onChange(event: WechatMiniprogram.CustomEvent<{ value: string }>) {
  31. const { value } = event.detail
  32. wx.switchTab({
  33. url: (value.startsWith('/') ? '' : '/') + value,
  34. })
  35. },
  36. init(func: Function | null = null) {
  37. const page = getCurrentPages().pop()
  38. const route = page ? page.route.split('?')[0] : ''
  39. const active = this.data.list.findIndex(
  40. (item) =>
  41. (item.pagePath.startsWith('/') ? item.pagePath.substr(1) : item.pagePath) === `${route}`,
  42. )
  43. this.setData({ active }, () => {
  44. func && func()
  45. })
  46. },
  47. },
  48. })