Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.6k views
in Technique[技术] by (71.8m points)

typescript - How to update an item of a list with angular

I'm trying to update a model of type 'SomeModel' in a list of elements of type SomeModel[]

I'm trying to point to the object needed as follow:

onChange(args: SomeModel): void {
  let element: SomeModel = this.elements.find(e => e.name === args.name);
  console.log(element) // <-- this prints the right object from the list
  element = JSON.parse(JSON.stringify(args)); // <-- isn't working

}

What I'm doing wrong?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Try with:

onChange(args: SomeModel): void {
  this.elements = this.elements.map(e => {
    if (e.name === args.name){
      return args;
     } 
    return e;
   })
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...