Primefaces 时间轴在更新时闪烁
Primefaces timeline blink on update
更新时 Primefaces 时间线闪烁。这是非常不美观的旧版本在更新时没有闪烁。
如果您单击 primefaces 展示柜中的按钮,您可以看到它的外观:
https://www.primefaces.org/showcase/ui/data/timeline/editServer.xhtml?jfwid=0a833
<p:timeline id="timeline" value="#{editServerTimelineView.model}" var="booking"
zoomMax="#{editServerTimelineView.zoomMax}"
start="#{editServerTimelineView.start}"
end="#{editServerTimelineView.end}"
editable="true" editableTime="#{editServerTimelineView.editableTime}"
widgetVar="timelineWdgt">
<p:commandButton value="Toggle TimeChangeable" process="@this" update="timeline"
action="#{editServerTimelineView.toggleEditableTime}"/>
每当您更新时间线时都会发生同样的事情。
你知道如何防止时间轴闪烁吗?
是的,新时间轴在渲染时做了更多工作,并且有很多新功能,但这是副作用。他们提供加载屏幕模板,让您的用户知道它正在加载......
<f:facet name="loading">
<h1>Loading please wait...</h1>
</f:facet>
在我的例子中,更新时闪烁发生在延迟加载和新项目中。
这是可能的,而且不是因为做了更多的工作。这是一个设计决定,dom 对象可见性的改变,在加载 loadingScreen 之前在 js 中渲染组件时,您可以看到:
p.dom.root.style.visibility = "hidden";
猴子修补 timeline.js 并更改为
p.dom.root.style.visibility = "visible";
问题消失。
更新时 Primefaces 时间线闪烁。这是非常不美观的旧版本在更新时没有闪烁。 如果您单击 primefaces 展示柜中的按钮,您可以看到它的外观:
https://www.primefaces.org/showcase/ui/data/timeline/editServer.xhtml?jfwid=0a833
<p:timeline id="timeline" value="#{editServerTimelineView.model}" var="booking"
zoomMax="#{editServerTimelineView.zoomMax}"
start="#{editServerTimelineView.start}"
end="#{editServerTimelineView.end}"
editable="true" editableTime="#{editServerTimelineView.editableTime}"
widgetVar="timelineWdgt">
<p:commandButton value="Toggle TimeChangeable" process="@this" update="timeline"
action="#{editServerTimelineView.toggleEditableTime}"/>
每当您更新时间线时都会发生同样的事情。
你知道如何防止时间轴闪烁吗?
是的,新时间轴在渲染时做了更多工作,并且有很多新功能,但这是副作用。他们提供加载屏幕模板,让您的用户知道它正在加载......
<f:facet name="loading">
<h1>Loading please wait...</h1>
</f:facet>
在我的例子中,更新时闪烁发生在延迟加载和新项目中。 这是可能的,而且不是因为做了更多的工作。这是一个设计决定,dom 对象可见性的改变,在加载 loadingScreen 之前在 js 中渲染组件时,您可以看到:
p.dom.root.style.visibility = "hidden";
猴子修补 timeline.js 并更改为
p.dom.root.style.visibility = "visible";
问题消失。