こんにちは
以下の修正でいかがでしょう?
(1) class UserEntity
の constructor に省略可能な引数 isShow
を追加して、this.isShow
に代入
diff
1- constructor(user: User) {
2+ constructor(user: User, isShow: boolean = false) {
3 this.userCode = user.code
4 this.userName = user.name
5 this.title = user.title
6 this.body = user.body
7+ this.isShow = isShow
8 }
(2) addOffers
で、追加するUserEntity
をnewで作るところで、引数に true
を追加
diff
1- this.usersEntities = [...this.usersEntities, new UserEntity(user)]
2+ this.usersEntities = [...this.usersEntities, new UserEntity(user, true)]
以下は上記のコードを試すサンプルです。
上記のサンプルでは、オブジェクト obj
にusersEntities
プロパティとaddOffers
メソッドを持たせて、obj.addOffers
で2つのUser
を含む配列 [ userB, userC ]
を渡しています。その結果、obj.usersEntities
には2つの要素が追加されますが、それらの isShow
は true になっていることを確認できます。
以上、参考になれば幸いです。
追記
別案を挙げます。以下のようにすれば、UserEntity
のconstructorを修正せずに、addOffers
のみの修正で済ませることもできます。
diff
1- this.usersEntities = [...this.usersEntities, new UserEntity(user)]
2+ this.usersEntities = [...this.usersEntities, { ...new UserEntity(user), isShow: true }]
なお、追記した別案のほうのコードだと、型エラーにはならない(と思います。)ですが、追加されるオブジェクトが、UserEntityクラスのインスタンスではなく普通のオブジェクトになってしまうので、usersEntities の要素を UserEntityクラスのインスタンスに揃えたいのであれば、回答のはじめに書いたほうのコードのほうがよいかと思います。