我正在开发一个通用的下拉组件。如果用户输入的值不在列表中,我想在 itemSelected 事件中返回一个相同类型的新对象。我需要保留方法和属性——所以仅仅创建一个通用对象是行不通的。即使列表为空,这也需要工作,因此无法执行 Object.create(this.list[0]); 之类的操作。
到目前为止,我的解决方法是只传递一个引用对象,我可以将其与 Object.create 一起使用,但这似乎很蹩脚。
以下代码段显示了我正在尝试做的事情。有没有办法做到这一点或更好的方法来做我想做的事?谢谢 - 乔恩
import { Component, OnInit, Input } from '@angular/core';
@Component({
selector: 'app-generic-new',
templateUrl: './generic-new.component.html',
styleUrls: ['./generic-new.component.scss']
})
export class GenericNewComponent implements OnInit {
ngOnInit(): void {}
@Input() type:any
createNewType():any {
// this is what I'm trying to do - but doesn't work
return new this.type();
}
}