vdesign-ui 0.2.13 → 0.2.15

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.
@@ -1681,17 +1681,6 @@ module.exports = function (it) {
1681
1681
  /* unused harmony reexport * */
1682
1682
 
1683
1683
 
1684
- /***/ }),
1685
-
1686
- /***/ "72cb":
1687
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
1688
-
1689
- "use strict";
1690
- /* 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_67d93971_prod_lang_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("e8a4");
1691
- /* 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_67d93971_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_67d93971_prod_lang_less__WEBPACK_IMPORTED_MODULE_0__);
1692
- /* unused harmony reexport * */
1693
-
1694
-
1695
1684
  /***/ }),
1696
1685
 
1697
1686
  /***/ "7323":
@@ -1808,6 +1797,17 @@ module.exports = function (argument) {
1808
1797
  };
1809
1798
 
1810
1799
 
1800
+ /***/ }),
1801
+
1802
+ /***/ "82e0":
1803
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1804
+
1805
+ "use strict";
1806
+ /* 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_e7b9f8aa_prod_lang_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("e217");
1807
+ /* 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_e7b9f8aa_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_e7b9f8aa_prod_lang_less__WEBPACK_IMPORTED_MODULE_0__);
1808
+ /* unused harmony reexport * */
1809
+
1810
+
1811
1811
  /***/ }),
1812
1812
 
1813
1813
  /***/ "836c":
@@ -3328,6 +3328,13 @@ module.exports = function (V, P) {
3328
3328
  /* unused harmony reexport * */
3329
3329
 
3330
3330
 
3331
+ /***/ }),
3332
+
3333
+ /***/ "e217":
3334
+ /***/ (function(module, exports, __webpack_require__) {
3335
+
3336
+ // extracted by mini-css-extract-plugin
3337
+
3331
3338
  /***/ }),
3332
3339
 
3333
3340
  /***/ "e330":
@@ -3416,13 +3423,6 @@ module.exports = function (target, source, exceptions) {
3416
3423
  };
3417
3424
 
3418
3425
 
3419
- /***/ }),
3420
-
3421
- /***/ "e8a4":
3422
- /***/ (function(module, exports, __webpack_require__) {
3423
-
3424
- // extracted by mini-css-extract-plugin
3425
-
3426
3426
  /***/ }),
3427
3427
 
3428
3428
  /***/ "e8b5":
@@ -6915,8 +6915,8 @@ var button_component = normalizeComponent(
6915
6915
  )
6916
6916
 
6917
6917
  /* harmony default export */ var components_button = (button_component.exports);
6918
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"de67888a-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=67d93971
6919
- var tabsvue_type_template_id_67d93971_render = function render() {
6918
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"de67888a-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=e7b9f8aa
6919
+ var tabsvue_type_template_id_e7b9f8aa_render = function render() {
6920
6920
  var _vm = this,
6921
6921
  _c = _vm._self._c;
6922
6922
  return _c('div', {
@@ -6968,9 +6968,9 @@ var tabsvue_type_template_id_67d93971_render = function render() {
6968
6968
  style: _vm.trackStyle
6969
6969
  }, [_vm._t("default")], 2) : _vm._t("default")], 2)]);
6970
6970
  };
6971
- var tabsvue_type_template_id_67d93971_staticRenderFns = [];
6971
+ var tabsvue_type_template_id_e7b9f8aa_staticRenderFns = [];
6972
6972
 
6973
- // CONCATENATED MODULE: ./packages/components/tabs/index.vue?vue&type=template&id=67d93971
6973
+ // CONCATENATED MODULE: ./packages/components/tabs/index.vue?vue&type=template&id=e7b9f8aa
6974
6974
 
6975
6975
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
6976
6976
  var es_array_push = __webpack_require__("14d9");
@@ -7183,30 +7183,48 @@ const prefixCls = "vd-tabs";
7183
7183
  if (tab.disabled) {
7184
7184
  this.$emit('disabled', tab.name !== undefined ? tab.name : index, index);
7185
7185
  } else {
7186
- this.currentName = tab.name !== undefined ? tab.name : index;
7187
- // 如果 currentName 是索引值,确保为数字类型
7188
- if (tab.name === undefined) {
7189
- this.currentName = Number(this.currentName);
7186
+ const newName = tab.name !== undefined ? tab.name : index;
7187
+
7188
+ // 始终触发 click 事件
7189
+ this.$emit('click', newName, index);
7190
+
7191
+ // 检查是否需要切换标签
7192
+ if (newName !== this.currentName) {
7193
+ this.currentName = newName;
7194
+
7195
+ // 如果 currentName 是索引值,确保为数字类型
7196
+ if (tab.name === undefined) {
7197
+ this.currentName = Number(this.currentName);
7198
+ }
7199
+ this.$emit('input', this.currentName);
7200
+ this.$emit('change', this.currentName, index); // 仅在切换时触发 change 事件
7201
+
7202
+ // 切换标签后,滚动到当前标签
7203
+ this.$nextTick(() => {
7204
+ this.scrollToActiveTab();
7205
+ });
7190
7206
  }
7191
- this.$emit('input', this.currentName);
7192
- this.$emit('change', this.currentName, index);
7193
- // 切换标签后,滚动到当前标签
7194
- this.$nextTick(() => {
7195
- this.scrollToActiveTab();
7196
- });
7197
7207
  }
7198
7208
  },
7199
- scrollToActiveTab() {
7200
- const scrollWrapper = this.$refs.nav; // 修改这里
7209
+ scrollToActiveTab(targetIndex = null) {
7210
+ const scrollWrapper = this.$refs.nav;
7201
7211
  const tabItems = this.$refs.tabItems;
7202
7212
  if (!scrollWrapper || !tabItems || tabItems.length === 0) {
7203
7213
  return;
7204
7214
  }
7205
- const activeIndex = this.tabs.findIndex((tab, index) => {
7206
- return this.isTabActive(tab, index);
7207
- });
7215
+ // 如果传入 targetIndex,设置当前激活标签的 name
7216
+ if (targetIndex !== null) {
7217
+ const targetTab = this.tabs[targetIndex];
7218
+ if (targetTab) {
7219
+ this.currentName = targetTab.name !== undefined ? targetTab.name : targetIndex;
7220
+ } else {
7221
+ console.warn('Invalid target index:', targetIndex);
7222
+ return;
7223
+ }
7224
+ }
7225
+ const activeIndex = targetIndex !== null ? targetIndex : this.tabs.findIndex((tab, index) => this.isTabActive(tab, index));
7208
7226
  const activeTab = tabItems[activeIndex];
7209
- if (activeTab) {
7227
+ setTimeout(() => {
7210
7228
  const tabOffsetLeft = activeTab.offsetLeft;
7211
7229
  const tabWidth = activeTab.offsetWidth;
7212
7230
  const wrapperWidth = scrollWrapper.offsetWidth;
@@ -7215,7 +7233,7 @@ const prefixCls = "vd-tabs";
7215
7233
  left: scrollLeft,
7216
7234
  behavior: 'smooth'
7217
7235
  });
7218
- }
7236
+ }, 0); // You can adjust the timeout value if needed
7219
7237
  },
7220
7238
  renderTitle(titleEl, tab) {
7221
7239
  this.$nextTick(() => {
@@ -7230,6 +7248,26 @@ const prefixCls = "vd-tabs";
7230
7248
  }
7231
7249
  }
7232
7250
  });
7251
+ },
7252
+ /**
7253
+ * resize 方法
7254
+ * 当外层元素大小或组件显示状态变化时调用,触发重绘
7255
+ */
7256
+ resize() {
7257
+ // 重新计算当前激活标签的位置
7258
+ this.scrollToActiveTab();
7259
+ // 如果有其他需要重绘或重新计算的逻辑,可以在这里添加
7260
+ // 例如,重新计算动画轨道的位置等
7261
+ },
7262
+ /**
7263
+ * scrollTo 方法
7264
+ * 刷新页面,滚动到指定位置
7265
+ */
7266
+ scrollTo(targetIndex = null) {
7267
+ // 重新计算当前激活标签的位置
7268
+ this.scrollToActiveTab(targetIndex);
7269
+ // 如果有其他需要重绘或重新计算的逻辑,可以在这里添加
7270
+ // 例如,重新计算动画轨道的位置等
7233
7271
  }
7234
7272
  },
7235
7273
  mounted() {
@@ -7247,8 +7285,8 @@ const prefixCls = "vd-tabs";
7247
7285
  });
7248
7286
  // CONCATENATED MODULE: ./packages/components/tabs/index.vue?vue&type=script&lang=js
7249
7287
  /* harmony default export */ var components_tabsvue_type_script_lang_js = (tabsvue_type_script_lang_js);
7250
- // EXTERNAL MODULE: ./packages/components/tabs/index.vue?vue&type=style&index=0&id=67d93971&prod&lang=less
7251
- var tabsvue_type_style_index_0_id_67d93971_prod_lang_less = __webpack_require__("72cb");
7288
+ // EXTERNAL MODULE: ./packages/components/tabs/index.vue?vue&type=style&index=0&id=e7b9f8aa&prod&lang=less
7289
+ var tabsvue_type_style_index_0_id_e7b9f8aa_prod_lang_less = __webpack_require__("82e0");
7252
7290
 
7253
7291
  // CONCATENATED MODULE: ./packages/components/tabs/index.vue
7254
7292
 
@@ -7261,8 +7299,8 @@ var tabsvue_type_style_index_0_id_67d93971_prod_lang_less = __webpack_require__(
7261
7299
 
7262
7300
  var tabs_component = normalizeComponent(
7263
7301
  components_tabsvue_type_script_lang_js,
7264
- tabsvue_type_template_id_67d93971_render,
7265
- tabsvue_type_template_id_67d93971_staticRenderFns,
7302
+ tabsvue_type_template_id_e7b9f8aa_render,
7303
+ tabsvue_type_template_id_e7b9f8aa_staticRenderFns,
7266
7304
  false,
7267
7305
  null,
7268
7306
  null,