【发布时间】:2018-10-28 21:41:30
【问题描述】:
我是网络新人。
我想在 ag-grid 中自定义默认滚动条。我尝试为此使用 ngx-scrollbar。在源代码 ngx-scrollbar 中,我发现 ngx-scrollbar 使用 ng-content 来包装元素(link to github source file)。如果包装 ag-grid-angular 元素,则滚动甚至不会显示,因为内容不会溢出 ag-grid-angular 内容,因为 oveflow 发生在 div 类 .ag-body-viewport 使用股票滚动。为了达到需要的效果,我希望将类 .ag-body-viewport 的 DOM 元素传递给 ngx-scrollbar 的 ng-content。有可能吗?
更多信息在这里 github issue 但我不使用 Nice Scroll 或 Perfect Scrollbar
我想使用 ngx-scrollbar,因为它具有自定义功能。
更新
我可以使用下一个 sintax 将 DOM 元素传递给 ng-content(agGridViewport 是本机元素):
<ng-scrollbar>
{{ agGridViewport }}
<ng-scrollbar>
但它像传递真实 DOM 对象的副本一样传递元素,但我想像引用一样传递它。
现在我得到了类似堆栈样式的 UI:
[渲染真实的 ag-grid-angular]
[用他的内容渲染 ng-scrollbar]
但这不是我需要的。此外,我的工件渲染效果不佳,甚至某些组件也没有出现。现在我想尝试使用 Renderer2 将 ng-scrollbar 元素放在树中的两个 DOM 元素之间(.ag-body-viewport-wrapper 和 .ag-body -视口)。但我认为这是一个非常糟糕的主意,因为 Renderer2 没有在树中的 DOM 元素之间放置元素的方法,而且我的代码将非常不灵活和复杂:( 这一定就像注入一样。
【问题讨论】: