vdesign-ui 0.1.15 → 0.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/tabs/index.vue +30 -57
- package/dist/components/tabs/tab/index.vue +49 -56
- package/dist/components/tag/style.less +4 -4
- package/dist/vdesign-ui.common.js +68 -84
- package/dist/vdesign-ui.css +1 -1
- package/dist/vdesign-ui.umd.js +68 -84
- package/dist/vdesign-ui.umd.min.js +2 -2
- package/package.json +2 -2
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="vd-tabs">
|
|
3
3
|
<div class="vd-tabs__wrap" :class="menuClasses" ref="tabsWrap">
|
|
4
|
-
<div :class="
|
|
5
|
-
<div v-for="(item, index) in navList" :key="index" :class="
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}}<vd-icon class="vd-tabs-arrow" v-if="item.arrow" name="icon_btn_moredown"></vd-icon>
|
|
4
|
+
<div :class="barType" ref="tabsContainer">
|
|
5
|
+
<div v-for="(item, index) in navList" :key="index" :class="tabClasses(item)" @click="handleChange(index)">
|
|
6
|
+
<span class="vd-tabs-text-cell" :class="ellipsisClasses">{{ item.title }}
|
|
7
|
+
<vd-icon class="vd-tabs-arrow" v-if="item.arrow" name="icon_btn_moredown"></vd-icon>
|
|
9
8
|
</span>
|
|
10
9
|
</div>
|
|
11
10
|
</div>
|
|
@@ -39,12 +38,11 @@ export default {
|
|
|
39
38
|
divider: Boolean,
|
|
40
39
|
menuIcon: {
|
|
41
40
|
type: String,
|
|
42
|
-
default: 'icon_tab_morelist',
|
|
41
|
+
default: 'icon_tab_morelist',
|
|
43
42
|
},
|
|
44
43
|
},
|
|
45
44
|
data() {
|
|
46
45
|
return {
|
|
47
|
-
// defType: ['primary', 'card', 'secondary','capsule','selector-l','selector-m', 'filter', 'click-filter'],
|
|
48
46
|
currentValue: this.value,
|
|
49
47
|
navList: [],
|
|
50
48
|
};
|
|
@@ -53,44 +51,29 @@ export default {
|
|
|
53
51
|
value(val) {
|
|
54
52
|
this.currentValue = val;
|
|
55
53
|
},
|
|
56
|
-
currentValue() {
|
|
57
|
-
this.updateStatus();
|
|
58
|
-
},
|
|
59
54
|
},
|
|
60
55
|
computed: {
|
|
61
56
|
ellipsisClasses() {
|
|
62
|
-
return
|
|
63
|
-
{
|
|
64
|
-
|
|
65
|
-
},
|
|
66
|
-
];
|
|
57
|
+
return {
|
|
58
|
+
[`${prefixCls}-text--ellipsis`]: this.ellipsis,
|
|
59
|
+
};
|
|
67
60
|
},
|
|
68
61
|
menuClasses() {
|
|
69
|
-
return
|
|
70
|
-
{
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
"vd-hairline--bottom": this.divider,
|
|
75
|
-
},
|
|
76
|
-
];
|
|
77
|
-
},
|
|
78
|
-
scrollspy() {
|
|
79
|
-
return `${prefixCls}--complete`
|
|
62
|
+
return {
|
|
63
|
+
[`${prefixCls}-menu`]: this.menu,
|
|
64
|
+
[`${prefixCls}__wrap--bg`]: this.backgroundColor,
|
|
65
|
+
"vd-hairline--bottom": this.divider,
|
|
66
|
+
};
|
|
80
67
|
},
|
|
81
68
|
lineClasses() {
|
|
82
|
-
return
|
|
83
|
-
{
|
|
84
|
-
|
|
85
|
-
},
|
|
86
|
-
];
|
|
69
|
+
return {
|
|
70
|
+
[`${prefixCls}__line`]: !this.actBorder,
|
|
71
|
+
};
|
|
87
72
|
},
|
|
88
73
|
barType() {
|
|
89
|
-
return
|
|
90
|
-
{
|
|
91
|
-
|
|
92
|
-
},
|
|
93
|
-
];
|
|
74
|
+
return {
|
|
75
|
+
[`${prefixCls}-${this.tabsType}-bar`]: this.tabsType,
|
|
76
|
+
};
|
|
94
77
|
},
|
|
95
78
|
},
|
|
96
79
|
methods: {
|
|
@@ -100,19 +83,17 @@ export default {
|
|
|
100
83
|
tabClasses(item) {
|
|
101
84
|
return {
|
|
102
85
|
[`${prefixCls}-${this.tabsType}`]: true,
|
|
103
|
-
[`${prefixCls}-${this.tabsType}-active`]: item.name === this.currentValue
|
|
86
|
+
[`${prefixCls}-${this.tabsType}-active`]: item.name === this.currentValue,
|
|
104
87
|
};
|
|
105
88
|
},
|
|
106
89
|
getTabs() {
|
|
107
|
-
|
|
108
|
-
return tabs;
|
|
90
|
+
return this.$children.filter((item) => item.$options.name === "vd-tab");
|
|
109
91
|
},
|
|
110
|
-
|
|
111
92
|
updateNav() {
|
|
112
93
|
this.navList = this.getTabs().map((pane, index) => ({
|
|
113
94
|
title: pane.title,
|
|
114
95
|
name: pane.name || index,
|
|
115
|
-
arrow: pane.arrow
|
|
96
|
+
arrow: pane.arrow,
|
|
116
97
|
}));
|
|
117
98
|
if (!this.currentValue) {
|
|
118
99
|
this.currentValue = this.navList[0].name;
|
|
@@ -121,30 +102,20 @@ export default {
|
|
|
121
102
|
},
|
|
122
103
|
updateStatus() {
|
|
123
104
|
this.getTabs().forEach((tab) => {
|
|
124
|
-
tab.show = tab.computedName
|
|
105
|
+
tab.show = tab.computedName === this.currentValue;
|
|
125
106
|
});
|
|
126
107
|
},
|
|
127
108
|
handleChange(index) {
|
|
128
109
|
const nav = this.navList[index];
|
|
129
110
|
const name = nav.name;
|
|
130
|
-
const title = nav.title;
|
|
131
|
-
|
|
132
111
|
if (this.currentValue !== name) {
|
|
133
112
|
this.currentValue = name;
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
name: name
|
|
138
|
-
};
|
|
139
|
-
this.$emit('change', eventData);
|
|
113
|
+
this.$emit('input', name); // 确保向父组件更新
|
|
114
|
+
this.$emit('change', { index, title: nav.title, name });
|
|
115
|
+
this.updateStatus(); // 确保更新状态
|
|
140
116
|
this.adjustTabPosition(index);
|
|
141
117
|
}
|
|
142
|
-
|
|
143
|
-
index: index,
|
|
144
|
-
title: title,
|
|
145
|
-
name: name
|
|
146
|
-
};
|
|
147
|
-
this.$emit("click", eventData);
|
|
118
|
+
this.$emit("click", { index, title: nav.title, name });
|
|
148
119
|
},
|
|
149
120
|
adjustTabPosition(index) {
|
|
150
121
|
const container = this.$refs.tabsContainer;
|
|
@@ -159,11 +130,13 @@ export default {
|
|
|
159
130
|
},
|
|
160
131
|
},
|
|
161
132
|
mounted() {
|
|
162
|
-
// 在组件挂载后更新标签
|
|
163
133
|
this.updateNav();
|
|
164
134
|
},
|
|
165
135
|
};
|
|
166
136
|
</script>
|
|
137
|
+
|
|
138
|
+
<style lang="less"></style>
|
|
139
|
+
|
|
167
140
|
<style lang="less">
|
|
168
141
|
@import "./style.less";
|
|
169
142
|
</style>
|
|
@@ -1,63 +1,56 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div :class="
|
|
3
|
-
|
|
2
|
+
<div :class="tabClasses">
|
|
3
|
+
<slot />
|
|
4
4
|
</div>
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
arrow: {
|
|
16
|
-
type: Boolean,
|
|
17
|
-
default: false
|
|
18
|
-
}
|
|
5
|
+
</template>
|
|
6
|
+
|
|
7
|
+
<script>
|
|
8
|
+
export default {
|
|
9
|
+
name: 'vd-tab',
|
|
10
|
+
props: {
|
|
11
|
+
name: [String, Number],
|
|
12
|
+
title: {
|
|
13
|
+
type: String,
|
|
14
|
+
required: true,
|
|
19
15
|
},
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
16
|
+
arrow: {
|
|
17
|
+
type: Boolean,
|
|
18
|
+
default: false,
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
data() {
|
|
22
|
+
return {
|
|
23
|
+
show: false,
|
|
24
|
+
};
|
|
25
|
+
},
|
|
26
|
+
watch: {
|
|
27
|
+
title() {
|
|
28
|
+
this.updateNav();
|
|
25
29
|
},
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
name() {
|
|
31
|
+
this.updateNav();
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
computed: {
|
|
35
|
+
tabClasses() {
|
|
36
|
+
return {
|
|
37
|
+
'vd-tab': true,
|
|
38
|
+
'vd-tab-active': this.show,
|
|
39
|
+
};
|
|
34
40
|
},
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return [
|
|
38
|
-
'vd-tab',
|
|
39
|
-
{'vd-tab-active': this.show}
|
|
40
|
-
];
|
|
41
|
-
},
|
|
42
|
-
computedName() {
|
|
43
|
-
return this.name ?? this.$parent.getTabs().indexOf(this);
|
|
44
|
-
}
|
|
41
|
+
computedName() {
|
|
42
|
+
return this.name ?? this.$parent.getTabs().indexOf(this);
|
|
45
43
|
},
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
44
|
+
},
|
|
45
|
+
methods: {
|
|
46
|
+
updateNav() {
|
|
47
|
+
this.$parent.updateNav();
|
|
50
48
|
},
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
</script>
|
|
61
|
-
|
|
62
|
-
<style lang="less"></style>
|
|
63
|
-
|
|
49
|
+
},
|
|
50
|
+
mounted() {
|
|
51
|
+
this.updateNav();
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
</script>
|
|
55
|
+
|
|
56
|
+
<style lang="less"></style>
|
|
@@ -21,16 +21,16 @@
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
&--white{
|
|
24
|
-
color: var(--color-tag-
|
|
25
|
-
background-color: var(--color-tag-
|
|
24
|
+
color: var(--color-tag-default-text);
|
|
25
|
+
background-color: var(--color-tag-default-bg);
|
|
26
26
|
|
|
27
27
|
&__border{
|
|
28
28
|
background-color:transparent;
|
|
29
29
|
font-size: calc(var(--en-single-f-b-r-fontSize) * 1px);
|
|
30
30
|
font-weight: var(--en-single-f-b-r-fontWeight);
|
|
31
|
-
color: var(--color-tag-
|
|
31
|
+
color: var(--color-tag-default_border-text);
|
|
32
32
|
&::after{
|
|
33
|
-
border-color: var(--color-tag-
|
|
33
|
+
border-color: var(--color-tag-default-border);
|
|
34
34
|
border-radius: calc(var(--radius-tag-bg) * 2px);
|
|
35
35
|
}
|
|
36
36
|
}
|
|
@@ -9113,6 +9113,17 @@ module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKUAAAB3CAYAAABi
|
|
|
9113
9113
|
|
|
9114
9114
|
// extracted by mini-css-extract-plugin
|
|
9115
9115
|
|
|
9116
|
+
/***/ }),
|
|
9117
|
+
|
|
9118
|
+
/***/ "3745":
|
|
9119
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
9120
|
+
|
|
9121
|
+
"use strict";
|
|
9122
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_a4fbf7d2_prod_lang_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("4757");
|
|
9123
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_a4fbf7d2_prod_lang_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_a4fbf7d2_prod_lang_less__WEBPACK_IMPORTED_MODULE_0__);
|
|
9124
|
+
/* unused harmony reexport * */
|
|
9125
|
+
|
|
9126
|
+
|
|
9116
9127
|
/***/ }),
|
|
9117
9128
|
|
|
9118
9129
|
/***/ "38fb":
|
|
@@ -9497,6 +9508,13 @@ function cancelRaf(id) {
|
|
|
9497
9508
|
|
|
9498
9509
|
/***/ }),
|
|
9499
9510
|
|
|
9511
|
+
/***/ "4757":
|
|
9512
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
9513
|
+
|
|
9514
|
+
// extracted by mini-css-extract-plugin
|
|
9515
|
+
|
|
9516
|
+
/***/ }),
|
|
9517
|
+
|
|
9500
9518
|
/***/ "47e4":
|
|
9501
9519
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
9502
9520
|
|
|
@@ -10582,13 +10600,6 @@ exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P
|
|
|
10582
10600
|
/* unused harmony reexport * */
|
|
10583
10601
|
|
|
10584
10602
|
|
|
10585
|
-
/***/ }),
|
|
10586
|
-
|
|
10587
|
-
/***/ "9eb6":
|
|
10588
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
10589
|
-
|
|
10590
|
-
// extracted by mini-css-extract-plugin
|
|
10591
|
-
|
|
10592
10603
|
/***/ }),
|
|
10593
10604
|
|
|
10594
10605
|
/***/ "a04b":
|
|
@@ -14694,17 +14705,6 @@ module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
|
|
|
14694
14705
|
};
|
|
14695
14706
|
|
|
14696
14707
|
|
|
14697
|
-
/***/ }),
|
|
14698
|
-
|
|
14699
|
-
/***/ "f72b":
|
|
14700
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
14701
|
-
|
|
14702
|
-
"use strict";
|
|
14703
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_1544a764_prod_lang_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("9eb6");
|
|
14704
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_1544a764_prod_lang_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_1544a764_prod_lang_less__WEBPACK_IMPORTED_MODULE_0__);
|
|
14705
|
-
/* unused harmony reexport * */
|
|
14706
|
-
|
|
14707
|
-
|
|
14708
14708
|
/***/ }),
|
|
14709
14709
|
|
|
14710
14710
|
/***/ "f747":
|
|
@@ -15231,8 +15231,8 @@ var component = normalizeComponent(
|
|
|
15231
15231
|
)
|
|
15232
15232
|
|
|
15233
15233
|
/* harmony default export */ var components_button = (component.exports);
|
|
15234
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"82037bd6-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/tabs/index.vue?vue&type=template&id=
|
|
15235
|
-
var
|
|
15234
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"82037bd6-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/tabs/index.vue?vue&type=template&id=a4fbf7d2
|
|
15235
|
+
var tabsvue_type_template_id_a4fbf7d2_render = function render() {
|
|
15236
15236
|
var _vm = this,
|
|
15237
15237
|
_c = _vm._self._c;
|
|
15238
15238
|
return _c('div', {
|
|
@@ -15243,11 +15243,11 @@ var tabsvue_type_template_id_1544a764_render = function render() {
|
|
|
15243
15243
|
class: _vm.menuClasses
|
|
15244
15244
|
}, [_c('div', {
|
|
15245
15245
|
ref: "tabsContainer",
|
|
15246
|
-
class:
|
|
15246
|
+
class: _vm.barType
|
|
15247
15247
|
}, _vm._l(_vm.navList, function (item, index) {
|
|
15248
15248
|
return _c('div', {
|
|
15249
15249
|
key: index,
|
|
15250
|
-
class:
|
|
15250
|
+
class: _vm.tabClasses(item),
|
|
15251
15251
|
on: {
|
|
15252
15252
|
"click": function ($event) {
|
|
15253
15253
|
return _vm.handleChange(index);
|
|
@@ -15256,7 +15256,7 @@ var tabsvue_type_template_id_1544a764_render = function render() {
|
|
|
15256
15256
|
}, [_c('span', {
|
|
15257
15257
|
staticClass: "vd-tabs-text-cell",
|
|
15258
15258
|
class: _vm.ellipsisClasses
|
|
15259
|
-
}, [_vm._v(_vm._s(item.title)), item.arrow ? _c('vd-icon', {
|
|
15259
|
+
}, [_vm._v(_vm._s(item.title) + " "), item.arrow ? _c('vd-icon', {
|
|
15260
15260
|
staticClass: "vd-tabs-arrow",
|
|
15261
15261
|
attrs: {
|
|
15262
15262
|
"name": "icon_btn_moredown"
|
|
@@ -15276,9 +15276,9 @@ var tabsvue_type_template_id_1544a764_render = function render() {
|
|
|
15276
15276
|
staticClass: "vd-tabs__content"
|
|
15277
15277
|
}, [_vm._t("default")], 2)]);
|
|
15278
15278
|
};
|
|
15279
|
-
var
|
|
15279
|
+
var tabsvue_type_template_id_a4fbf7d2_staticRenderFns = [];
|
|
15280
15280
|
|
|
15281
|
-
// CONCATENATED MODULE: ./packages/components/tabs/index.vue?vue&type=template&id=
|
|
15281
|
+
// CONCATENATED MODULE: ./packages/components/tabs/index.vue?vue&type=template&id=a4fbf7d2
|
|
15282
15282
|
|
|
15283
15283
|
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/tabs/index.vue?vue&type=script&lang=js
|
|
15284
15284
|
const prefixCls = "vd-tabs";
|
|
@@ -15300,12 +15300,11 @@ const prefixCls = "vd-tabs";
|
|
|
15300
15300
|
divider: Boolean,
|
|
15301
15301
|
menuIcon: {
|
|
15302
15302
|
type: String,
|
|
15303
|
-
default: 'icon_tab_morelist'
|
|
15303
|
+
default: 'icon_tab_morelist'
|
|
15304
15304
|
}
|
|
15305
15305
|
},
|
|
15306
15306
|
data() {
|
|
15307
15307
|
return {
|
|
15308
|
-
// defType: ['primary', 'card', 'secondary','capsule','selector-l','selector-m', 'filter', 'click-filter'],
|
|
15309
15308
|
currentValue: this.value,
|
|
15310
15309
|
navList: []
|
|
15311
15310
|
};
|
|
@@ -15313,37 +15312,30 @@ const prefixCls = "vd-tabs";
|
|
|
15313
15312
|
watch: {
|
|
15314
15313
|
value(val) {
|
|
15315
15314
|
this.currentValue = val;
|
|
15316
|
-
},
|
|
15317
|
-
currentValue() {
|
|
15318
|
-
this.updateStatus();
|
|
15319
15315
|
}
|
|
15320
15316
|
},
|
|
15321
15317
|
computed: {
|
|
15322
15318
|
ellipsisClasses() {
|
|
15323
|
-
return
|
|
15319
|
+
return {
|
|
15324
15320
|
[`${prefixCls}-text--ellipsis`]: this.ellipsis
|
|
15325
|
-
}
|
|
15321
|
+
};
|
|
15326
15322
|
},
|
|
15327
15323
|
menuClasses() {
|
|
15328
|
-
return
|
|
15324
|
+
return {
|
|
15329
15325
|
[`${prefixCls}-menu`]: this.menu,
|
|
15330
15326
|
[`${prefixCls}__wrap--bg`]: this.backgroundColor,
|
|
15331
|
-
// 二级tab才有线
|
|
15332
15327
|
"vd-hairline--bottom": this.divider
|
|
15333
|
-
}
|
|
15334
|
-
},
|
|
15335
|
-
scrollspy() {
|
|
15336
|
-
return `${prefixCls}--complete`;
|
|
15328
|
+
};
|
|
15337
15329
|
},
|
|
15338
15330
|
lineClasses() {
|
|
15339
|
-
return
|
|
15331
|
+
return {
|
|
15340
15332
|
[`${prefixCls}__line`]: !this.actBorder
|
|
15341
|
-
}
|
|
15333
|
+
};
|
|
15342
15334
|
},
|
|
15343
15335
|
barType() {
|
|
15344
|
-
return
|
|
15336
|
+
return {
|
|
15345
15337
|
[`${prefixCls}-${this.tabsType}-bar`]: this.tabsType
|
|
15346
|
-
}
|
|
15338
|
+
};
|
|
15347
15339
|
}
|
|
15348
15340
|
},
|
|
15349
15341
|
methods: {
|
|
@@ -15357,8 +15349,7 @@ const prefixCls = "vd-tabs";
|
|
|
15357
15349
|
};
|
|
15358
15350
|
},
|
|
15359
15351
|
getTabs() {
|
|
15360
|
-
|
|
15361
|
-
return tabs;
|
|
15352
|
+
return this.$children.filter(item => item.$options.name === "vd-tab");
|
|
15362
15353
|
},
|
|
15363
15354
|
updateNav() {
|
|
15364
15355
|
this.navList = this.getTabs().map((pane, index) => ({
|
|
@@ -15379,23 +15370,22 @@ const prefixCls = "vd-tabs";
|
|
|
15379
15370
|
handleChange(index) {
|
|
15380
15371
|
const nav = this.navList[index];
|
|
15381
15372
|
const name = nav.name;
|
|
15382
|
-
const title = nav.title;
|
|
15383
15373
|
if (this.currentValue !== name) {
|
|
15384
15374
|
this.currentValue = name;
|
|
15385
|
-
|
|
15386
|
-
|
|
15387
|
-
|
|
15388
|
-
|
|
15389
|
-
|
|
15390
|
-
|
|
15375
|
+
this.$emit('input', name); // 确保向父组件更新
|
|
15376
|
+
this.$emit('change', {
|
|
15377
|
+
index,
|
|
15378
|
+
title: nav.title,
|
|
15379
|
+
name
|
|
15380
|
+
});
|
|
15381
|
+
this.updateStatus(); // 确保更新状态
|
|
15391
15382
|
this.adjustTabPosition(index);
|
|
15392
15383
|
}
|
|
15393
|
-
|
|
15394
|
-
index
|
|
15395
|
-
title: title,
|
|
15396
|
-
name
|
|
15397
|
-
};
|
|
15398
|
-
this.$emit("click", eventData);
|
|
15384
|
+
this.$emit("click", {
|
|
15385
|
+
index,
|
|
15386
|
+
title: nav.title,
|
|
15387
|
+
name
|
|
15388
|
+
});
|
|
15399
15389
|
},
|
|
15400
15390
|
adjustTabPosition(index) {
|
|
15401
15391
|
const container = this.$refs.tabsContainer;
|
|
@@ -15413,14 +15403,13 @@ const prefixCls = "vd-tabs";
|
|
|
15413
15403
|
}
|
|
15414
15404
|
},
|
|
15415
15405
|
mounted() {
|
|
15416
|
-
// 在组件挂载后更新标签
|
|
15417
15406
|
this.updateNav();
|
|
15418
15407
|
}
|
|
15419
15408
|
});
|
|
15420
15409
|
// CONCATENATED MODULE: ./packages/components/tabs/index.vue?vue&type=script&lang=js
|
|
15421
15410
|
/* harmony default export */ var components_tabsvue_type_script_lang_js = (tabsvue_type_script_lang_js);
|
|
15422
|
-
// EXTERNAL MODULE: ./packages/components/tabs/index.vue?vue&type=style&index=
|
|
15423
|
-
var
|
|
15411
|
+
// EXTERNAL MODULE: ./packages/components/tabs/index.vue?vue&type=style&index=1&id=a4fbf7d2&prod&lang=less
|
|
15412
|
+
var tabsvue_type_style_index_1_id_a4fbf7d2_prod_lang_less = __webpack_require__("3745");
|
|
15424
15413
|
|
|
15425
15414
|
// CONCATENATED MODULE: ./packages/components/tabs/index.vue
|
|
15426
15415
|
|
|
@@ -15433,8 +15422,8 @@ var tabsvue_type_style_index_0_id_1544a764_prod_lang_less = __webpack_require__(
|
|
|
15433
15422
|
|
|
15434
15423
|
var tabs_component = normalizeComponent(
|
|
15435
15424
|
components_tabsvue_type_script_lang_js,
|
|
15436
|
-
|
|
15437
|
-
|
|
15425
|
+
tabsvue_type_template_id_a4fbf7d2_render,
|
|
15426
|
+
tabsvue_type_template_id_a4fbf7d2_staticRenderFns,
|
|
15438
15427
|
false,
|
|
15439
15428
|
null,
|
|
15440
15429
|
null,
|
|
@@ -15443,17 +15432,17 @@ var tabs_component = normalizeComponent(
|
|
|
15443
15432
|
)
|
|
15444
15433
|
|
|
15445
15434
|
/* harmony default export */ var tabs = (tabs_component.exports);
|
|
15446
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"82037bd6-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/tabs/tab/index.vue?vue&type=template&id=
|
|
15447
|
-
var
|
|
15435
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"82037bd6-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/tabs/tab/index.vue?vue&type=template&id=aa6b9104
|
|
15436
|
+
var tabvue_type_template_id_aa6b9104_render = function render() {
|
|
15448
15437
|
var _vm = this,
|
|
15449
15438
|
_c = _vm._self._c;
|
|
15450
15439
|
return _c('div', {
|
|
15451
|
-
class: _vm.
|
|
15440
|
+
class: _vm.tabClasses
|
|
15452
15441
|
}, [_vm._t("default")], 2);
|
|
15453
15442
|
};
|
|
15454
|
-
var
|
|
15443
|
+
var tabvue_type_template_id_aa6b9104_staticRenderFns = [];
|
|
15455
15444
|
|
|
15456
|
-
// CONCATENATED MODULE: ./packages/components/tabs/tab/index.vue?vue&type=template&id=
|
|
15445
|
+
// CONCATENATED MODULE: ./packages/components/tabs/tab/index.vue?vue&type=template&id=aa6b9104
|
|
15457
15446
|
|
|
15458
15447
|
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/tabs/tab/index.vue?vue&type=script&lang=js
|
|
15459
15448
|
/* harmony default export */ var tabvue_type_script_lang_js = ({
|
|
@@ -15461,7 +15450,8 @@ var tabvue_type_template_id_5ebb54f6_staticRenderFns = [];
|
|
|
15461
15450
|
props: {
|
|
15462
15451
|
name: [String, Number],
|
|
15463
15452
|
title: {
|
|
15464
|
-
type: String
|
|
15453
|
+
type: String,
|
|
15454
|
+
required: true
|
|
15465
15455
|
},
|
|
15466
15456
|
arrow: {
|
|
15467
15457
|
type: Boolean,
|
|
@@ -15470,24 +15460,23 @@ var tabvue_type_template_id_5ebb54f6_staticRenderFns = [];
|
|
|
15470
15460
|
},
|
|
15471
15461
|
data() {
|
|
15472
15462
|
return {
|
|
15473
|
-
show: false
|
|
15474
|
-
localName: this.name // 初始化时使用 prop 的值
|
|
15463
|
+
show: false
|
|
15475
15464
|
};
|
|
15476
15465
|
},
|
|
15477
15466
|
watch: {
|
|
15478
15467
|
title() {
|
|
15479
15468
|
this.updateNav();
|
|
15469
|
+
},
|
|
15470
|
+
name() {
|
|
15471
|
+
this.updateNav();
|
|
15480
15472
|
}
|
|
15481
|
-
// name(newName) {
|
|
15482
|
-
// // 响应 prop 的改变
|
|
15483
|
-
// this.localName = newName;
|
|
15484
|
-
// }
|
|
15485
15473
|
},
|
|
15486
15474
|
computed: {
|
|
15487
|
-
|
|
15488
|
-
return
|
|
15475
|
+
tabClasses() {
|
|
15476
|
+
return {
|
|
15477
|
+
'vd-tab': true,
|
|
15489
15478
|
'vd-tab-active': this.show
|
|
15490
|
-
}
|
|
15479
|
+
};
|
|
15491
15480
|
},
|
|
15492
15481
|
computedName() {
|
|
15493
15482
|
var _this$name;
|
|
@@ -15500,11 +15489,6 @@ var tabvue_type_template_id_5ebb54f6_staticRenderFns = [];
|
|
|
15500
15489
|
}
|
|
15501
15490
|
},
|
|
15502
15491
|
mounted() {
|
|
15503
|
-
// if (this.name === undefined) {
|
|
15504
|
-
// let parent = this.$parent;
|
|
15505
|
-
// let index = parent.getTabs().indexOf(this);
|
|
15506
|
-
// this.localName = index; // 将索引设置为字符串作为 localName
|
|
15507
|
-
// }
|
|
15508
15492
|
this.updateNav();
|
|
15509
15493
|
}
|
|
15510
15494
|
});
|
|
@@ -15520,8 +15504,8 @@ var tabvue_type_template_id_5ebb54f6_staticRenderFns = [];
|
|
|
15520
15504
|
|
|
15521
15505
|
var tab_component = normalizeComponent(
|
|
15522
15506
|
tabs_tabvue_type_script_lang_js,
|
|
15523
|
-
|
|
15524
|
-
|
|
15507
|
+
tabvue_type_template_id_aa6b9104_render,
|
|
15508
|
+
tabvue_type_template_id_aa6b9104_staticRenderFns,
|
|
15525
15509
|
false,
|
|
15526
15510
|
null,
|
|
15527
15511
|
null,
|