Angular 如何为所有焦点源设置相同的md复选框焦点大纲

Angular 如何为所有焦点源设置相同的md复选框焦点大纲,angular,angular-material2,Angular,Angular Material2,当md复选框使用键盘聚焦时,它周围有一个轮廓。 但当焦点以编程方式设置时,并没有可视指示器。有没有办法让它看起来一样? Ripple是一个点击/聚焦事件。如果希望在以编程方式设置复选框后产生连锁反应,则需要从代码集中元素。为此,还需要为控件添加引用 在模板中,将参考变量添加到复选框中,例如customCheckbox: <md-checkbox [(ngModel)]="checked" #customCheckbox>Check me!</md-checkbox> 链

当md复选框使用键盘聚焦时,它周围有一个轮廓。 但当焦点以编程方式设置时,并没有可视指示器。有没有办法让它看起来一样?
Ripple是一个点击/聚焦事件。如果希望在以编程方式设置复选框后产生连锁反应,则需要从代码集中元素。为此,还需要为控件添加引用

在模板中,将参考变量添加到复选框中,例如
customCheckbox

<md-checkbox [(ngModel)]="checked" #customCheckbox>Check me!</md-checkbox>

链接到。

您能展示一下您的做法吗?这种方法是有效的:实际上我并没有直接使用它。我会尽力解释。在几乎所有浏览器上,在复选框之间进行切换都很好。在Firefox上,复选框有时是焦点,但没有视觉效果。我检查了DOM,发现当这个bug发生时,checkbox input指定了类cdk program focused而不是cdk keyboard focused,所以我认为当焦点被programmaticaly触发时,这是默认行为。以你为例,我看我错了。你知道是什么导致Firefox出现这种奇怪的行为吗?我不能提供任何代码,因为这是一个非常大的项目的一部分。有更新吗?你试过我提供的答案了吗?
// Import MdCheckbox in your ts file
import { MdCheckbox } from '@angular/material';

// Declare customCheckbox in your class
@ViewChild('customCheckbox') private customCheckbox: MdCheckbox;

// Use this line to focus the checkbox programmatically where you want.
this.customCheckbox.focus();