【发布时间】:2019-11-06 05:24:00
【问题描述】:
目标是使角垫表的排序箭头始终可见(例如,它们始终将不透明度设置为 0.54)。
我尝试在我的.css 文件中为这个组件添加一些css 代码。它使所有箭头可见(我将不透明度设置为 0.54),但在这种情况下,所有箭头始终保持此不透明度,即使单击箭头也是如此(通常,如果单击箭头,不透明度将设置为 1)。
我添加到.css 文件中的代码:
::ng-deep .mat-sort-header-arrow.ng-trigger.ng-trigger-arrowPosition {
opacity: 0.54 !important;
}
我希望箭头始终以不透明度 0.54 显示。箭头的其余行为应保持不变。在列未排序的情况下,例如,箭头处于未定义状态,箭头应该是向上箭头并且不透明度为 0.54。如果我点击箭头,它的不透明度应该设置为 1。如果我取消排序,箭头的不透明度应该是 0.54。
这里有一个例子:https://stackblitz.com/edit/angular-isxoc5。所有箭头都按我的意愿显示。但是如果你点击一个箭头,它的不透明度仍然是 0.54,而不是 1。
【问题讨论】:
-
嗨@Albert .mat-sort-header-container:not(.mat-sort-header-sorted) .mat-sort-header-arrow {opacity: 0.54 !important;变换:translateY(0px)!重要; } 这应该做的工作:)
-
嗨@ErvinLlojku。谢谢,您的解决方案正是我想要的。你能不能给我点别的建议?如果我单击箭头两次(从而取消排序),箭头是向下箭头。如果此箭头失去焦点然后再次获得焦点,则箭头是向上箭头,而不是向下箭头。我可以以某种方式自动执行此行为,以便在取消排序后箭头会自动刷新并立即变为向上箭头?
-
嗨@Albert .mat-sort-header-container:not(.mat-sort-header-sorted) .mat-sort-header-indicator {transform: translateY(0px) !important; } .mat-sort-header-container:not(.mat-sort-header-sorted) .mat-sort-header-pointer-left {transform: rotate(-45deg) !important; } .mat-sort-header-container:not(.mat-sort-header-sorted) .mat-sort-header-pointer-right {transform: rotate(45deg) !important; } 尝试这个。我个人尽量避免 !important 因为会影响性能。另一种解决方案是创建一个自定义指令来处理排序:)
标签: angular angular-material angular7