【发布时间】:2020-10-26 23:25:03
【问题描述】:
虽然我已经破解了 SlickGrid 以添加此方法 [onRenderCompleted],因为我找不到任何内置功能;我正在寻找答案,因为我有两个我不喜欢黑客的问题。 1:我弄乱了基本代码,使维护成为问题。 2:我在所有渲染操作上都触发了这个事件。
我有一个第 3 方应用程序脚手架 C# MVC Serenity Web,它使用声明式编程来提供网格项目上的链接,因此我的需要是有条件的;我需要根据条件添加或删除它们。它们的创建是内置的,并且可以轻松连接所有链接和数据,因此我将有条件地删除链接。以为会很简单..
我可以通过一些代码和 css 技巧轻松删除链接。我的问题是代码何时运行 - 我需要知道网格何时添加了带有各自链接的光滑行。 RowCountChanged 不会按顺序在正确的时间触发 - 标记端尚未写入。 $document.ready 也不起作用.. 几乎所有其他事件(我已经尝试了很多)都不会在适当的时间触发 - (当所有内容都加载和渲染时。 - onDataLoaded 在这里也不起作用。 )
我知道有人提到使用 css animate 对象并注意它,但我没有示例代码,似乎这可能是一个更好的 hack,因为我可以在声明性方面添加 CSS ID。并且只需注意那个 css 对象(我不知道但希望得到帮助)。
我尝试使用 MutationObserver,但它似乎无法检测到节点。
1:是否有一个 SlickGrid 事件会在所有内容加载和渲染时触发? 2:如果没有 SlickGrid 事件 - 那么我如何使用 css 动画对象以及如何观察它以添加到 DOM 中?
【问题讨论】:
-
如果你使用 6pac/SlickGrid 分支,我们添加了一个onRendered 事件,它作为
render()方法here 的最后一行执行,但我不确定是否有任何异步那么这对你来说可能还为时过早,如果是这样的话,那么在onRendered事件之上添加一个简单的setTimeout(() => {} , 1)的完整周期可能就足够了
标签: javascript c# css asp.net-mvc slickgrid