@tuoyuan/module-page-select 1.0.3 → 1.0.5

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.
@@ -11,7 +11,7 @@
11
11
  return /******/ (function() { // webpackBootstrap
12
12
  /******/ var __webpack_modules__ = ({
13
13
 
14
- /***/ 8806:
14
+ /***/ 5834:
15
15
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
16
16
 
17
17
  "use strict";
@@ -25,7 +25,7 @@ __webpack_require__.r(__webpack_exports__);
25
25
 
26
26
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
27
27
  // Module
28
- ___CSS_LOADER_EXPORT___.push([module.id, ".module-page-select[data-v-142cfac8]{width:100%}.selection-preview[data-v-142cfac8]{margin-top:8px;padding:8px 12px;background:#f0f9ff;border:1px solid #91d5ff;border-radius:4px;font-size:13px}.preview-label[data-v-142cfac8]{color:#666;font-size:12px;margin-bottom:4px}.preview-value[data-v-142cfac8]{color:#1890ff;font-weight:500}.config-form[data-v-142cfac8]{margin-top:16px}", ""]);
28
+ ___CSS_LOADER_EXPORT___.push([module.id, ".module-page-select[data-v-b85db3f6]{width:100%}.selection-preview[data-v-b85db3f6]{margin-top:8px;padding:8px 12px;background:#f0f9ff;border:1px solid #91d5ff;border-radius:4px;font-size:13px}.preview-label[data-v-b85db3f6]{color:#666;font-size:12px;margin-bottom:4px}.preview-value[data-v-b85db3f6]{color:#1890ff;font-weight:500}.config-form[data-v-b85db3f6]{margin-top:16px}", ""]);
29
29
  // Exports
30
30
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
31
31
 
@@ -158,19 +158,19 @@ exports.A = (sfc, props) => {
158
158
 
159
159
  /***/ }),
160
160
 
161
- /***/ 1:
161
+ /***/ 4121:
162
162
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
163
163
 
164
164
  // style-loader: Adds some css to the DOM by adding a <style> tag
165
165
 
166
166
  // load the styles
167
- var content = __webpack_require__(8806);
167
+ var content = __webpack_require__(5834);
168
168
  if(content.__esModule) content = content.default;
169
169
  if(typeof content === 'string') content = [[module.id, content, '']];
170
170
  if(content.locals) module.exports = content.locals;
171
171
  // add the styles to the DOM
172
172
  var add = (__webpack_require__(258)/* ["default"] */ .A)
173
- var update = add("48be7285", content, true, {"sourceMap":false,"shadowMode":false});
173
+ var update = add("fe2829fa", content, true, {"sourceMap":false,"shadowMode":false});
174
174
 
175
175
  /***/ }),
176
176
 
@@ -3584,7 +3584,7 @@ if (typeof window !== 'undefined') {
3584
3584
 
3585
3585
  // EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
3586
3586
  var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__(9274);
3587
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ModulePageSelect.vue?vue&type=template&id=142cfac8&scoped=true
3587
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ModulePageSelect.vue?vue&type=template&id=b85db3f6&scoped=true
3588
3588
 
3589
3589
  const _hoisted_1 = {
3590
3590
  class: "module-page-select"
@@ -3617,6 +3617,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
3617
3617
  modelValue: $data.selectedModuleId,
3618
3618
  "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => $data.selectedModuleId = $event),
3619
3619
  onChange: $options.handleModuleChange,
3620
+ onFocus: $options.handleModuleFocus,
3620
3621
  placeholder: "请选择模块",
3621
3622
  "allow-clear": "",
3622
3623
  "allow-search": "",
@@ -3632,7 +3633,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
3632
3633
  }, 1032, ["value"]);
3633
3634
  }), 128))]),
3634
3635
  _: 1
3635
- }, 8, ["modelValue", "onChange"])]),
3636
+ }, 8, ["modelValue", "onChange", "onFocus"])]),
3636
3637
  _: 1
3637
3638
  }), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_a_form_item, {
3638
3639
  label: "选择页面"
@@ -3731,7 +3732,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
3731
3732
  _: 1
3732
3733
  })]);
3733
3734
  }
3734
- ;// ./src/components/ModulePageSelect.vue?vue&type=template&id=142cfac8&scoped=true
3735
+ ;// ./src/components/ModulePageSelect.vue?vue&type=template&id=b85db3f6&scoped=true
3735
3736
 
3736
3737
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
3737
3738
  var es_iterator_constructor = __webpack_require__(8111);
@@ -4068,7 +4069,8 @@ const registerApis = apis.deepMerge.bind(apis);
4068
4069
  watch: {
4069
4070
  // 监听 modelValue 的变化(用于回显)
4070
4071
  modelValue: {
4071
- immediate: true,
4072
+ immediate: false,
4073
+ // 不立即执行,等待组件完全挂载
4072
4074
  deep: true,
4073
4075
  async handler(val) {
4074
4076
  if (val && typeof val === 'object') {
@@ -4125,7 +4127,8 @@ const registerApis = apis.deepMerge.bind(apis);
4125
4127
  },
4126
4128
  // 兼容单独传入的 moduleId prop
4127
4129
  moduleId: {
4128
- immediate: true,
4130
+ immediate: false,
4131
+ // 不立即执行
4129
4132
  async handler(val) {
4130
4133
  if (val && val !== this.selectedModuleId && !this.modelValue?.module_id) {
4131
4134
  this.selectedModuleId = val;
@@ -4146,7 +4149,8 @@ const registerApis = apis.deepMerge.bind(apis);
4146
4149
  },
4147
4150
  // 兼容单独传入的 pageId prop
4148
4151
  pageId: {
4149
- immediate: true,
4152
+ immediate: false,
4153
+ // 不立即执行
4150
4154
  async handler(val) {
4151
4155
  if (val && val !== this.selectedPageId && !this.modelValue?.page_id) {
4152
4156
  this.selectedPageId = val;
@@ -4164,7 +4168,8 @@ const registerApis = apis.deepMerge.bind(apis);
4164
4168
  }
4165
4169
  },
4166
4170
  mounted() {
4167
- this.loadModules();
4171
+ // 不在 mounted 时自动加载
4172
+ // 数据将在用户交互时(focus)或有初始值时才加载
4168
4173
  },
4169
4174
  methods: {
4170
4175
  // 加载模块列表
@@ -4225,6 +4230,12 @@ const registerApis = apis.deepMerge.bind(apis);
4225
4230
  throw error;
4226
4231
  }
4227
4232
  },
4233
+ // 模块下拉框获得焦点时加载数据
4234
+ handleModuleFocus() {
4235
+ if (this.modules.length === 0) {
4236
+ this.loadModules();
4237
+ }
4238
+ },
4228
4239
  // 模块切换
4229
4240
  async handleModuleChange() {
4230
4241
  // 清空旧数据
@@ -4423,9 +4434,9 @@ const registerApis = apis.deepMerge.bind(apis);
4423
4434
  });
4424
4435
  ;// ./src/components/ModulePageSelect.vue?vue&type=script&lang=js
4425
4436
 
4426
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-54.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-54.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ModulePageSelect.vue?vue&type=style&index=0&id=142cfac8&scoped=true&lang=css
4427
- var ModulePageSelectvue_type_style_index_0_id_142cfac8_scoped_true_lang_css = __webpack_require__(1);
4428
- ;// ./src/components/ModulePageSelect.vue?vue&type=style&index=0&id=142cfac8&scoped=true&lang=css
4437
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-54.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-54.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ModulePageSelect.vue?vue&type=style&index=0&id=b85db3f6&scoped=true&lang=css
4438
+ var ModulePageSelectvue_type_style_index_0_id_b85db3f6_scoped_true_lang_css = __webpack_require__(4121);
4439
+ ;// ./src/components/ModulePageSelect.vue?vue&type=style&index=0&id=b85db3f6&scoped=true&lang=css
4429
4440
 
4430
4441
  // EXTERNAL MODULE: ./node_modules/vue-loader/dist/exportHelper.js
4431
4442
  var exportHelper = __webpack_require__(5907);
@@ -4437,7 +4448,7 @@ var exportHelper = __webpack_require__(5907);
4437
4448
  ;
4438
4449
 
4439
4450
 
4440
- const __exports__ = /*#__PURE__*/(0,exportHelper/* default */.A)(ModulePageSelectvue_type_script_lang_js, [['render',render],['__scopeId',"data-v-142cfac8"]])
4451
+ const __exports__ = /*#__PURE__*/(0,exportHelper/* default */.A)(ModulePageSelectvue_type_script_lang_js, [['render',render],['__scopeId',"data-v-b85db3f6"]])
4441
4452
 
4442
4453
  /* harmony default export */ var ModulePageSelect = (__exports__);
4443
4454
  ;// ./src/index.js