Primefaces DatePicker 不会在 window 旋转时更新其位置
Primefaces DatePicker does not update its position on window rotation
我们在项目中使用了一个 DatePicker 组件。 Primefes 版本 8.0.
DatePicker 弹出窗口的位置在输入字段的位置发生变化后(例如,在旋转平板电脑后)不会发生变化。问题是 fixed for the Сalendar 组件,但我们使用 DatePicker 是因为:
DatePicker is designed to replace the old p:calendar component.
你可以在official website上看到这个问题。
以下是部分截图:
更改屏幕尺寸后,弹窗位置没有更新:
有没有办法通过用 javascript 扩展 PrimeFaces.widget.Calendar
来解决这个问题?
感谢您的帮助。
您现在可以自行修复此问题,只需将此 Javascript 添加到您的页面或网站即可。
XHTML 示例:
<p:datePicker id="popup" widgetVar="dpPopup" value="#{calendarView.date2}" />
JavaScript 添加到您的页面:
$(window).on('resize.datepicker', function() {
setTimeout(function () {
for (item in PrimeFaces.widgets) {
widget = PrimeFaces.widgets[item];
if (widget instanceof PrimeFaces.widget.DatePicker) {
widget.jq.datePicker('alignPanel');
}
}
}, 10);
});
报告的问题:https://github.com/primefaces/primefaces/issues/5984
已为 9.0 修复:https://github.com/primefaces/primefaces/pull/5985
我们在项目中使用了一个 DatePicker 组件。 Primefes 版本 8.0.
DatePicker 弹出窗口的位置在输入字段的位置发生变化后(例如,在旋转平板电脑后)不会发生变化。问题是 fixed for the Сalendar 组件,但我们使用 DatePicker 是因为:
DatePicker is designed to replace the old p:calendar component.
你可以在official website上看到这个问题。
以下是部分截图:
更改屏幕尺寸后,弹窗位置没有更新:
有没有办法通过用 javascript 扩展 PrimeFaces.widget.Calendar
来解决这个问题?
感谢您的帮助。
您现在可以自行修复此问题,只需将此 Javascript 添加到您的页面或网站即可。
XHTML 示例:
<p:datePicker id="popup" widgetVar="dpPopup" value="#{calendarView.date2}" />
JavaScript 添加到您的页面:
$(window).on('resize.datepicker', function() {
setTimeout(function () {
for (item in PrimeFaces.widgets) {
widget = PrimeFaces.widgets[item];
if (widget instanceof PrimeFaces.widget.DatePicker) {
widget.jq.datePicker('alignPanel');
}
}
}, 10);
});
报告的问题:https://github.com/primefaces/primefaces/issues/5984
已为 9.0 修复:https://github.com/primefaces/primefaces/pull/5985