角材料7:使用键盘不能正确地选择内部部件单选按钮

问题描述 投票:0回答:1

我正在开发一个应用程序与离子4 /角7 /角材7。

在屏幕上有一个步进。

每个步进里面有复杂的形式。鉴于其复杂性,我把这个表格里面的部件。

里面的第二个步骤有一个单选按钮组。当我打开第二个步骤,我可以与键盘无线设置焦点,但不能选择一个单选按钮。单选按钮得到一个灰色圆圈周围,但没有选择的颜色。

在第一步骤中也有一个无线电设备组,并在初始状态I可使用键盘选择它。但是,如果我再次打开第二步,打开第一步单选按钮都没有选择了。

我模拟的情况,而不步进电机内的部件,我是无法重现的问题这样。然后我推断问题是由该组件的工序内部之后该步骤是打开造成的。

我如何能够正确地选择一步里面的单选按钮?

radio-button components angular7 angular-material-7 mat-stepper
1个回答
0
投票

通过指令姑息解决:

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);
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.