在Angular Material中,许多组件都有美丽的水波纹效果。当您点击mat-list-item时,会发生水波纹效果。
现在,对于按钮和许多其他组件,您可以使用
有人知道解决方法吗?我已经尝试从MatListItem的_getHostElement()中分派'click',但无济于事。
编辑:
感谢所有帮助我的人!最终,我将设计自己的列表组件,以便可以访问其MatRipple指令。我已经fork了pr41的stackblitz,使情况与我拥有的情况类似(使用*ngFor生成列表),如果有人知道在这里放什么:
那太好了!
分叉: https://stackblitz.com/edit/angular-mmjda4-ssoajs?file=app%2Flist-overview-example.ts
现在,对于按钮和许多其他组件,您可以使用
button.ripple.launch(...)
触发水波纹效果,但是对于mat-list-item,我没有找到这样的功能。我希望能够通过此功能向用户通知列表所做的更改。有人知道解决方法吗?我已经尝试从MatListItem的_getHostElement()中分派'click',但无济于事。
编辑:
感谢所有帮助我的人!最终,我将设计自己的列表组件,以便可以访问其MatRipple指令。我已经fork了pr41的stackblitz,使情况与我拥有的情况类似(使用*ngFor生成列表),如果有人知道在这里放什么:
this.listChildren.map((item: MatListItem) => {
// item is the MatListItem. How do I access its ripple directive?
});
那太好了!
分叉: https://stackblitz.com/edit/angular-mmjda4-ssoajs?file=app%2Flist-overview-example.ts
*ngFor
生成的(正如人们所期望的那样),我可以使用@ViewChildren访问MatListItem,并通过QuerySelector循环遍历它们。如果我要为每个MatListItem添加matRipple指令,我该如何访问特定MatListItem的MatRipple? - Michael Beeson