我正在开发一个应用程序与离子4 /角7 /角材7。
在屏幕上有一个步进。
每个步进里面有复杂的形式。鉴于其复杂性,我把这个表格里面的部件。
里面的第二个步骤有一个单选按钮组。当我打开第二个步骤,我可以与键盘无线设置焦点,但不能选择一个单选按钮。单选按钮得到一个灰色圆圈周围,但没有选择的颜色。
在第一步骤中也有一个无线电设备组,并在初始状态I可使用键盘选择它。但是,如果我再次打开第二步,打开第一步单选按钮都没有选择了。
我模拟的情况,而不步进电机内的部件,我是无法重现的问题这样。然后我推断问题是由该组件的工序内部之后该步骤是打开造成的。
我如何能够正确地选择一步里面的单选按钮?
通过指令姑息解决:
import { Directive, HostListener } from '@angular/core';
import { MatRadioButton } from '@angular/material';
@Directive({
selector: 'mat-radio-button'
})
export class MatRadioCorrectionDirective {
constructor(private host:MatRadioButton) { }
@HostListener('keyup', ['$event'])
onKeyup(event: KeyboardEvent) {
// console.log(event);
if(
event.keyCode == 38 // arrow up
|| event.keyCode == 40 // arrow down
|| event.keyCode == 37 // arrow left
|| event.keyCode == 39 // arrow right
) {
event.preventDefault();
this.host.checked = true;
// TODO: send event
this.host.change.emit(null);
// setTimeout(() => {
// }, 500);
}
}
}