【发布时间】:2018-05-20 10:06:34
【问题描述】:
在我的 Angular 6 应用程序中,我有一个按钮应该保持禁用状态,直到用户选择表格中的一行。
当我浏览到组件时,有一个小的闪烁效果,按钮从启用(红色)闪烁到禁用。
您可以在此处查看(左下角的删除按钮): https://www.useloom.com/share/b165c30f8912420182d02791066ec9f4
我处理它的方式非常简单。我有一个数组,它计算所选行数。如果此数组的长度为 0,则应禁用该按钮:
<button mat-fab color="warn" [ngClass]="{'button-follow-1': true}" (click)="onDeleteTask()" [disabled]="selectedTasks.length == 0" matTooltip="Delete">
<mat-icon class="mat-36" aria-label="Delete Task" >delete</mat-icon>
</button>
在组件 Typescript 中,我在 NgOnInit 中将数组长度设置为 0,但闪烁效果仍然存在。
我也尝试过将数组长度属性包装在 SetTimeout 1ms 函数中,并使用 *NgIf 有条件地显示按钮,但它在视觉上并不优雅。
有没有更好的解决方案?
谢谢
【问题讨论】:
-
你能在 StackBlitz 中创建一个minimal reproducible example 吗?我想会更容易帮助,谢谢
-
请拜托......
-
ngOninit 最好。
-
我已经将数组长度设置为0 怎么样?长度是只读的;]
标签: angular