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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
| "use strict";
|
| var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
| exports.__esModule = true;
| exports.default = void 0;
|
| var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
| var _utils = require("../utils");
|
| var _relation = require("../mixins/relation");
|
| var _router = require("../utils/router");
|
| var _createNamespace = (0, _utils.createNamespace)('tab'),
| createComponent = _createNamespace[0],
| bem = _createNamespace[1];
|
| var _default = createComponent({
| mixins: [(0, _relation.ChildrenMixin)('vanTabs')],
| props: (0, _extends2.default)({}, _router.routeProps, {
| dot: Boolean,
| name: [Number, String],
| // @deprecated
| info: [Number, String],
| badge: [Number, String],
| title: String,
| titleStyle: null,
| titleClass: null,
| disabled: Boolean
| }),
| data: function data() {
| return {
| inited: false
| };
| },
| computed: {
| computedName: function computedName() {
| var _this$name;
|
| return (_this$name = this.name) != null ? _this$name : this.index;
| },
| isActive: function isActive() {
| var active = this.computedName === this.parent.currentName;
|
| if (active) {
| this.inited = true;
| }
|
| return active;
| }
| },
| watch: {
| title: function title() {
| this.parent.setLine();
| this.parent.scrollIntoView();
| },
| inited: function inited(val) {
| var _this = this;
|
| if (this.parent.lazyRender && val) {
| this.$nextTick(function () {
| _this.parent.$emit('rendered', _this.computedName, _this.title);
| });
| }
| }
| },
| render: function render(h) {
| var slots = this.slots,
| parent = this.parent,
| isActive = this.isActive;
| var slotContent = slots();
|
| if (process.env.NODE_ENV === 'development' && this.info) {
| console.warn('[Vant] Tab: "info" prop is deprecated, use "badge" prop instead.');
| }
|
| if (!slotContent && !parent.animated) {
| return;
| }
|
| var show = parent.scrollspy || isActive;
| var shouldRender = this.inited || parent.scrollspy || !parent.lazyRender;
| var Content = shouldRender ? slotContent : h();
|
| if (parent.animated) {
| return h("div", {
| "attrs": {
| "role": "tabpanel",
| "aria-hidden": !isActive
| },
| "class": bem('pane-wrapper', {
| inactive: !isActive
| })
| }, [h("div", {
| "class": bem('pane')
| }, [Content])]);
| }
|
| return h("div", {
| "directives": [{
| name: "show",
| value: show
| }],
| "attrs": {
| "role": "tabpanel"
| },
| "class": bem('pane')
| }, [Content]);
| }
| });
|
| exports.default = _default;
|
|