我有一个下拉菜单,效果很好。如果用户选择一个选项,然后从键盘上按“删除” 或“退格” 按钮,则下拉菜单中的值将被清除(这很好 >)。但是,我正在尝试创建一个指令,该指令将执行相同的操作,但是无法使其正常工作。谁能为我指出正确创建此指令的正确方向?
非常感谢!
这是我的代码:
px
答案 0 :(得分:1)
这是指令代码
@Directive({
selector: '[customDropDown]'
})
export class CustomDropDownDirective {
@Output() updateProperty: EventEmitter<any> = new EventEmitter();
constructor(private el: ElementRef, private control : NgControl) { }
@HostListener('keyup',['$event'])onkeyup(event:any){
if(event.keyCode === 8){
let currentElementName = this.el.nativeElement.value;
this.control.control.setValue('');
this.updateProperty.emit(false);
}
}
}
这是LIVE DEMO的链接,我只是更新您的示例。还有一件事,就是您忘记了将指令添加到app.component.ts
中,这就是为什么他没有进行演示的原因。
答案 1 :(得分:0)
您可以使用按键来帮助您捕获按键上的事件。可以这样
Doctor
别忘了从@ angular / core导入NgControl。