t20-common-lib 0.11.4 → 0.11.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "t20-common-lib",
3
- "version": "0.11.4",
3
+ "version": "0.11.5",
4
4
  "description": "T20",
5
5
  "private": false,
6
6
  "main": "dist/index.js",
@@ -79,6 +79,8 @@ export default {
79
79
  return {
80
80
  branchBankNo: this.value,
81
81
  branchBankList: [],
82
+ // 本地标志:用于抑制由本组件触发的 bankCode 变更导致的 reset
83
+ _suppressBankCodeReset: false,
82
84
  page: {
83
85
  current: 1,
84
86
  size: 20,
@@ -93,7 +95,17 @@ export default {
93
95
  },
94
96
  bankCode: {
95
97
  immediate: true,
96
- handler() {
98
+ handler(newVal, oldVal) {
99
+ // 如果此变更是由本组件的选择操作触发(父组件同步响应),则抑制一次重置
100
+ if (this._suppressBankCodeReset) {
101
+ // 清理标志并忽略本次触发
102
+ this._suppressBankCodeReset = false;
103
+ return;
104
+ }
105
+
106
+ // 只有在值实际变化时才重置(避免无意义的重新加载)
107
+ if (newVal === oldVal) return;
108
+
97
109
  this.resetAndFetch();
98
110
  },
99
111
  },
@@ -172,7 +184,13 @@ export default {
172
184
  },
173
185
  handleBranchChange(val) {
174
186
  // 保持 v-model 行为
187
+ // 在 emit 之前设置抑制标志,防止父组件基于此事件同步修改 `bankCode` 导致我们被动地重置
188
+ this._suppressBankCodeReset = true;
175
189
  this.$emit('input', val);
190
+ // 在下一个 tick 清理标志(父组件同步处理会在本次事件循环中完成)
191
+ this.$nextTick(() => {
192
+ this._suppressBankCodeReset = false;
193
+ });
176
194
 
177
195
  // 尝试从已加载的列表中找到完整的 item 对象
178
196
  const findByValueKey = (v) => {