Javascript 如何设置mat收音机内mat输入的焦点
我试图在点击自定义单选按钮的输入框上设置焦点(光标闪烁)。但它没有发生。我有stackblitz演示 到目前为止我已经试过了Javascript 如何设置mat收音机内mat输入的焦点,javascript,html,css,angular7,mat-input,Javascript,Html,Css,Angular7,Mat Input,我试图在点击自定义单选按钮的输入框上设置焦点(光标闪烁)。但它没有发生。我有stackblitz演示 到目前为止我已经试过了 <mat-radio-group [(ngModel)]="selection" #radioGroup="matRadioGroup"> <mat-radio-button value="option 1">option 1</mat-radio-button> <mat-radio-button value="opti
<mat-radio-group [(ngModel)]="selection" #radioGroup="matRadioGroup">
<mat-radio-button value="option 1">option 1</mat-radio-button>
<mat-radio-button value="option 2">option 2</mat-radio-button>
<mat-radio-button value="option 3">option 3</mat-radio-button>
<mat-radio-button value="option 4">option 4</mat-radio-button>
<mat-radio-button [value]="customOption" (click)="onBlur()">
<mat-form-field>
<input matInput id="input" [(ngModel)]="customOption" />
</mat-form-field>
</mat-radio-button>
</mat-radio-group>
问题是,在选择单选按钮的操作完成之前,它会将焦点设置到输入元素,因此,一旦完成,它会立即将焦点切换到单选按钮 一个解决办法是改变
document.getElementById('input').focus()代码>
到
setTimeout(()=>document.getElementById('input').focus())代码>
因此,在将焦点设置到输入元素之前,它会等待片刻。问题在于,在选择单选按钮的操作完成之前,它会将焦点设置到输入元素。因此,一旦选择单选按钮完成,它会立即将焦点切换到单选按钮
一个解决办法是改变
document.getElementById('input').focus()代码>
到
setTimeout(()=>document.getElementById('input').focus())代码>
使其在设置输入元素的焦点之前等待片刻。到目前为止您尝试了什么?请显示您认为应该有效的代码。我已经用我的测试更新了问题。到目前为止,您尝试了什么?请出示你们认为应该有效的代码。我已经用试用版更新了这个问题
onBlur() {
document.getElementById('input').focus();
}