angular 自定义表单/*ngFor增删不更新

自定义表单项目实践

<app-two [(ngModel)]="books"></app-two>
books=''

@Component({
  selector: 'app-two',
  templateUrl: './two.component.html',
  styleUrls: ['./two.component.scss'],
  providers: [
    {
      provide: NG_VALUE_ACCESSOR,
      useExisting: forwardRef(() => TwoComponent),
      multi: true,
    }
  ]
})
export class TwoComponent implements ControlValueAccessor {

  constructor() {
  }

  onChange: (value: any) => void = () => null;
  onTouched: () => void = () => null;
  _disabled = false;

  // 父传子赋值
  @Input()
  set value(value: any) {
    this.sex = value;
  }
  sex = ''
  ngAfterViewInit() {
  }
  //父传子的时候赋值给子
  writeValue(obj: any): void {
    this.sex = obj;
  }

  //同步更新的事件
  registerOnChange(fn: any): void {
    this.onChange = fn;
  }

  //失去焦点的事件
  registerOnTouched(fn: any): void {
    this.onTouched = fn;
  }

  // //父传子禁用的值
  // setDisabledState(isDisabled: boolean): void {
  //   this._disabled = isDisabled
  // }
}

<input type="text" [(ngModel)]="sex" (ngModelChange)="onChange($event)" >

*ngFor 增删不更新

push ,splice

this.arr=[...this.arr]
posted @   猫神甜辣酱  阅读(121)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2020-07-16 javascript原生技巧篇
点击右上角即可分享
微信分享提示