f0r*_*t1s 2 angular-material2 angular
我有一个angular 5 material checkbox周围有 div 和一些其他元素。我希望单击与直接单击div相同。clickcheckbox
这是我的示例代码:
<div (click)="checked = !checked">
<mat-checkbox class="example-margin" [(ngModel)]="checked">
I'm a not working checkbox :'(
</mat-checkbox>
<span style="background-color: #dddd00;">I want to be clickable too</span>
</div>
Run Code Online (Sandbox Code Playgroud)
目前,单击复选框本身不起作用,单击 div 外部才起作用。有任何想法吗?
这里的问题是Clickondiv和[(ngModel)]on 复选框的事件都会互相抵消,这就是它不起作用的原因。
要使其工作stopPropagation,当您单击 div 元素时,您需要。所以我从 div 单击事件中编写了如下代码returning false来阻止它,并且您的代码将起作用。
组件.ts
export class CheckboxConfigurableExample {
checked = false;
indeterminate = false;
align = 'start';
disabled = false;
onChecked() {
this.checked= !this.checked;
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
组件.thml
<mat-card class="result">
<mat-card-content>
<h2 class="example-h2">Result</h2>
<section class="example-section">
<div (click)="onChecked();">
<mat-checkbox class="example-margin" [(ngModel)]="checked">
not working checkbox :'(
</mat-checkbox>
<span style="background-color: #dddd00;">I want to be clickable too</span>
</div>
</section>
</mat-card-content>
</mat-card>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4967 次 |
| 最近记录: |