1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
| // component/switchtab/switchtab.js
| Component({
| options: {
| addGlobalClass: true,
| multipleSlots: true
| },
| /**
| * 组件的属性列表
| */
| properties: {
| tabList: {
| type: Array,
| value: []
| },
| pageList: {
| type: Array,
| value: []
| },
| },
|
| /**
| * 组件的初始数据
| */
| data: {
| //选项卡相关
| currentTab: 0,
| // pageheight: '600px',
| },
|
| observers: {
| 'pageList': function() {
| this.tabsHeight('.page0');
| }
| },
|
| /**
| * 组件的方法列表
| */
| methods: {
| //计算swiper高度方法(在切换的时候调用)
| tabsHeight(element) {
| let that = this;
| let query = this.createSelectorQuery(); //必须要先创建一个查询
| query.select(element).boundingClientRect(function (rect) {
| // if (that.data.pageheight) {
| // let pageheight = that.data.pageheight.split('px')[0]
| // pageheight = parseInt(pageheight)
| // if (rect.height > pageheight) {
| // that.setData({
| // pageheight: rect.height + 'px'
| // });
| // }
| // } else {
| // that.setData({
| // pageheight: rect.height + 'px'
| // });
| // }
| that.setData({
| pageheight: rect.height + 'px'
| });
| }).exec();
| },
| swichNav: function (e) {
| var that = this;
| if (this.data.currentTab === e.target.dataset.current) {
| return false;
| } else {
| that.setData({
| currentTab: e.target.dataset.current,
| navScrollLeft: e.target.dataset.current >= 3 ? ((e.target.dataset.current) * 60) : 0 //判断当前选中的个数是否是第5个
| })
| // that.tabsHeight('.page' + e.target.dataset.current); //查询哪一个元素
| }
| },
| bindChange: function (e) {
| var that = this;
| that.setData({
| currentTab: e.detail.current,
| navScrollLeft: e.detail.current >= 3 ? ((e.detail.current) * 60) : 0 //判断当前选中的个数是否是第5个
| });
| that.tabsHeight('.page' + e.detail.current); //查询哪一个元素
| },
| }
| })
|
|