rd-outer-component 0.0.89 → 0.0.91

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.
@@ -7,7 +7,10 @@ import * as i3 from "ng-zorro-antd/checkbox";
7
7
  export class CustomCheckboxComponent {
8
8
  set options(val) {
9
9
  this._rawOptions = val ? [...val] : [];
10
- this.filteredOptions = val;
10
+ // 核心修复:深拷贝数组中的每一个对象
11
+ // 这样 nz-checkbox-group 修改 checked 属性时,只会修改这里的副本
12
+ // 永远不会影响到父组件 formFieldStruct 里的原始数据!
13
+ this.filteredOptions = val ? JSON.parse(JSON.stringify(val)) : [];
11
14
  }
12
15
  get options() {
13
16
  return this._rawOptions;
@@ -40,8 +43,13 @@ export class CustomCheckboxComponent {
40
43
  this.onTouched = fn;
41
44
  }
42
45
  handleValueChange(value) {
43
- this.onChange(value);
44
- this.valueChange.emit(value);
46
+ // 1. 核心修复:对 value 进行深拷贝
47
+ // 这样 emit 出去的就不再是 formFieldStruct 里的原始对象引用了
48
+ const valueCopy = JSON.parse(JSON.stringify(value));
49
+ // 2. 通知 FormArray 更新
50
+ this.onChange(valueCopy);
51
+ // 3. 向外发射新拷贝的对象
52
+ this.valueChange.emit(valueCopy);
45
53
  }
46
54
  }
47
55
  CustomCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
@@ -72,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
72
80
  }], valueChange: [{
73
81
  type: Output
74
82
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNoZWNrYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1saWIvc3JjL2xpYi9tb2R1bGVzL2N1c3RvbS1jaGVja2JveC9jdXN0b20tY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWxpYi9zcmMvbGliL21vZHVsZXMvY3VzdG9tLWNoZWNrYm94L2N1c3RvbS1jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBZXpFLE1BQU0sT0FBTyx1QkFBdUI7SUFNbEMsSUFDSSxPQUFPLENBQUMsR0FBb0I7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQVlELFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBeEJqQyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQzFCLG9CQUFlLEdBQW9CLEVBQUUsQ0FBQztRQVc1QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO1FBRXBELGdCQUFXLEdBQW9CLEVBQUUsQ0FBQztRQUUxQyxVQUFLLEdBQThCLFNBQVMsQ0FBQztRQUM3QyxnQkFBVyxHQUF1QyxTQUFTLENBQUM7UUFFNUQsYUFBUSxHQUFxQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDdEQsY0FBUyxHQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUVZLENBQUM7SUFFOUMsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQW9CO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBc0I7UUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDOztxSEFoRFUsdUJBQXVCO3lHQUF2Qix1QkFBdUIsdUtBUnZCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7WUFDdEQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLDBCQ3JCSCwrVUFjQTs0RkRTYSx1QkFBdUI7a0JBWm5DLFNBQVM7K0JBQ0UsaUJBQWlCLGFBR2hCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDOzRCQUN0RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjt3R0FHUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUYsT0FBTztzQkFEVixLQUFLO2dCQVNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSVNlbGVjdE9wdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzL2NvbW1vbi50eXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXJkLWNoZWNrYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2N1c3RvbS1jaGVja2JveC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEN1c3RvbUNoZWNrYm94Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbUNoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIG5hbWUgPSAnJztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgZmlsdGVyZWRPcHRpb25zOiBJU2VsZWN0T3B0aW9uW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBzZXQgb3B0aW9ucyh2YWw6IElTZWxlY3RPcHRpb25bXSkge1xuICAgIHRoaXMuX3Jhd09wdGlvbnMgPSB2YWwgPyBbLi4udmFsXSA6IFtdO1xuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdmFsO1xuICB9XG4gIGdldCBvcHRpb25zKCk6IElTZWxlY3RPcHRpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuX3Jhd09wdGlvbnM7XG4gIH1cblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElTZWxlY3RPcHRpb25bXT4oKTtcblxuICBwcml2YXRlIF9yYXdPcHRpb25zOiBJU2VsZWN0T3B0aW9uW10gPSBbXTtcblxuICB2YWx1ZTogSVNlbGVjdE9wdGlvbiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgbmF0aXZlVmFsdWU6IElTZWxlY3RPcHRpb25bJ3ZhbHVlJ10gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgb25DaGFuZ2U6ICh2YWx1ZTogSVNlbGVjdE9wdGlvbltdKSA9PiB2b2lkID0gKCkgPT4ge307XG4gIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IElTZWxlY3RPcHRpb24pOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHZhbHVlPy52YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgaGFuZGxlVmFsdWVDaGFuZ2UodmFsdWU6IElTZWxlY3RPcHRpb25bXSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cbn1cbiIsIjxkaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInJkLWZvcm0taXRlbS1jaGVja1wiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgZGlzYWJsZWQ6IGRpc2FibGVkLFxuICAgIH1cIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInJkLWZvcm0taXRlbS1jaGVjay1sYWJlbFwiPnt7IGxhYmVsIH19PC9kaXY+XG4gICAgPG56LWNoZWNrYm94LWdyb3VwXG4gICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcmVkT3B0aW9uc1wiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJoYW5kbGVWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICA+PC9uei1jaGVja2JveC1ncm91cD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNoZWNrYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1saWIvc3JjL2xpYi9tb2R1bGVzL2N1c3RvbS1jaGVja2JveC9jdXN0b20tY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWxpYi9zcmMvbGliL21vZHVsZXMvY3VzdG9tLWNoZWNrYm94L2N1c3RvbS1jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBZXpFLE1BQU0sT0FBTyx1QkFBdUI7SUFNbEMsSUFDSSxPQUFPLENBQUMsR0FBb0I7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3ZDLG9CQUFvQjtRQUNwQixnREFBZ0Q7UUFDaEQscUNBQXFDO1FBQ3JDLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3BFLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQVlELFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBM0JqQyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQzFCLG9CQUFlLEdBQW9CLEVBQUUsQ0FBQztRQWM1QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO1FBRXBELGdCQUFXLEdBQW9CLEVBQUUsQ0FBQztRQUUxQyxVQUFLLEdBQThCLFNBQVMsQ0FBQztRQUM3QyxnQkFBVyxHQUF1QyxTQUFTLENBQUM7UUFFNUQsYUFBUSxHQUFxQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDdEQsY0FBUyxHQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUVZLENBQUM7SUFFOUMsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQW9CO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBc0I7UUFDdEMsd0JBQXdCO1FBQ3hCLDRDQUE0QztRQUM1QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVwRCxxQkFBcUI7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV6QixnQkFBZ0I7UUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7cUhBMURVLHVCQUF1Qjt5R0FBdkIsdUJBQXVCLHVLQVJ2QjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO1lBQ3RELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwwQkNyQkgsK1VBY0E7NEZEU2EsdUJBQXVCO2tCQVpuQyxTQUFTOytCQUNFLGlCQUFpQixhQUdoQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzs0QkFDdEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7d0dBR1EsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlGLE9BQU87c0JBRFYsS0FBSztnQkFZSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElTZWxlY3RPcHRpb24gfSBmcm9tICcuLi8uLi90eXBlcy9jb21tb24udHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1yZC1jaGVja2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jdXN0b20tY2hlY2tib3guY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDdXN0b21DaGVja2JveENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21DaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBuYW1lID0gJyc7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIGZpbHRlcmVkT3B0aW9uczogSVNlbGVjdE9wdGlvbltdID0gW107XG5cbiAgQElucHV0KClcbiAgc2V0IG9wdGlvbnModmFsOiBJU2VsZWN0T3B0aW9uW10pIHtcbiAgICB0aGlzLl9yYXdPcHRpb25zID0gdmFsID8gWy4uLnZhbF0gOiBbXTtcbiAgICAvLyDmoLjlv4Pkv67lpI3vvJrmt7Hmi7fotJ3mlbDnu4TkuK3nmoTmr4/kuIDkuKrlr7nosaFcbiAgICAvLyDov5nmoLcgbnotY2hlY2tib3gtZ3JvdXAg5L+u5pS5IGNoZWNrZWQg5bGe5oCn5pe277yM5Y+q5Lya5L+u5pS56L+Z6YeM55qE5Ymv5pysXG4gICAgLy8g5rC46L+c5LiN5Lya5b2x5ZON5Yiw54i257uE5Lu2IGZvcm1GaWVsZFN0cnVjdCDph4znmoTljp/lp4vmlbDmja7vvIFcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHZhbCA/IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodmFsKSkgOiBbXTtcbiAgfVxuICBnZXQgb3B0aW9ucygpOiBJU2VsZWN0T3B0aW9uW10ge1xuICAgIHJldHVybiB0aGlzLl9yYXdPcHRpb25zO1xuICB9XG5cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJU2VsZWN0T3B0aW9uW10+KCk7XG5cbiAgcHJpdmF0ZSBfcmF3T3B0aW9uczogSVNlbGVjdE9wdGlvbltdID0gW107XG5cbiAgdmFsdWU6IElTZWxlY3RPcHRpb24gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gIG5hdGl2ZVZhbHVlOiBJU2VsZWN0T3B0aW9uWyd2YWx1ZSddIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIG9uQ2hhbmdlOiAodmFsdWU6IElTZWxlY3RPcHRpb25bXSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuICBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBJU2VsZWN0T3B0aW9uKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMubmF0aXZlVmFsdWUgPSB2YWx1ZT8udmFsdWU7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIGhhbmRsZVZhbHVlQ2hhbmdlKHZhbHVlOiBJU2VsZWN0T3B0aW9uW10pOiB2b2lkIHtcbiAgICAvLyAxLiDmoLjlv4Pkv67lpI3vvJrlr7kgdmFsdWUg6L+b6KGM5rex5ou36LSdXG4gICAgLy8g6L+Z5qC3IGVtaXQg5Ye65Y6755qE5bCx5LiN5YaN5pivIGZvcm1GaWVsZFN0cnVjdCDph4znmoTljp/lp4vlr7nosaHlvJXnlKjkuoZcbiAgICBjb25zdCB2YWx1ZUNvcHkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG5cbiAgICAvLyAyLiDpgJrnn6UgRm9ybUFycmF5IOabtOaWsFxuICAgIHRoaXMub25DaGFuZ2UodmFsdWVDb3B5KTtcblxuICAgIC8vIDMuIOWQkeWkluWPkeWwhOaWsOaLt+i0neeahOWvueixoVxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZUNvcHkpO1xuICB9XG59XG4iLCI8ZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJyZC1mb3JtLWl0ZW0tY2hlY2tcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCxcbiAgICB9XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJyZC1mb3JtLWl0ZW0tY2hlY2stbGFiZWxcIj57eyBsYWJlbCB9fTwvZGl2PlxuICAgIDxuei1jaGVja2JveC1ncm91cFxuICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJlZE9wdGlvbnNcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiaGFuZGxlVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPjwvbnotY2hlY2tib3gtZ3JvdXA+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -41,7 +41,10 @@ import { debounceTime, filter, switchMap } from 'rxjs/operators';
41
41
  class CustomCheckboxComponent {
42
42
  set options(val) {
43
43
  this._rawOptions = val ? [...val] : [];
44
- this.filteredOptions = val;
44
+ // 核心修复:深拷贝数组中的每一个对象
45
+ // 这样 nz-checkbox-group 修改 checked 属性时,只会修改这里的副本
46
+ // 永远不会影响到父组件 formFieldStruct 里的原始数据!
47
+ this.filteredOptions = val ? JSON.parse(JSON.stringify(val)) : [];
45
48
  }
46
49
  get options() {
47
50
  return this._rawOptions;
@@ -74,8 +77,13 @@ class CustomCheckboxComponent {
74
77
  this.onTouched = fn;
75
78
  }
76
79
  handleValueChange(value) {
77
- this.onChange(value);
78
- this.valueChange.emit(value);
80
+ // 1. 核心修复:对 value 进行深拷贝
81
+ // 这样 emit 出去的就不再是 formFieldStruct 里的原始对象引用了
82
+ const valueCopy = JSON.parse(JSON.stringify(value));
83
+ // 2. 通知 FormArray 更新
84
+ this.onChange(valueCopy);
85
+ // 3. 向外发射新拷贝的对象
86
+ this.valueChange.emit(valueCopy);
79
87
  }
80
88
  }
81
89
  CustomCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });