簡體   English   中英

p:Primefaces 6時間軸的select事件不會觸發bean方法

[英]Select event of p:timeline of Primefaces 6 does not trigger bean method

我有一個xhtml,其中有ap:timeline ...我想在選擇一個對象(訓練pLan)時顯示帶有詳細信息的模態對話框。 但是我無法觸發select事件……該方法永遠不會被調用!

這是我的xhtml代碼

<fieldset class="scheduler-border">
<legend class="scheduler-border">#{msg['tp_list']}</legend>
<p:timeline id="timeline" value="#{nav.model}" height="450px" selectable="#{nav.selectable}" zoomable="# {nav.zoomable}" moveable="#{nav.moveable}" stackEvents="#{nav.stackEvents}" axisOnTop="#{nav.axisOnTop}" eventStyle="#{nav.eventStyle}" showCurrentTime="#{nav.showCurrentTime}" showNavigation="#{nav.showNavigation}">

<p:ajax event="select" listener="#{nav.onSelect}" />
</p:timeline>
</fieldset>

這是我的豆子:

@Named("nav")
@ViewScoped

private TimelineModel model;

private boolean selectable = true;
private boolean zoomable = true;
private boolean moveable = true;
private boolean stackEvents = true;
private String eventStyle = "box";
private boolean axisOnTop;
private boolean showCurrentTime = true;
private boolean showNavigation = false;

.
.
.
@PostConstruct
protected void initialize() {
LOGGER.info("In post-Construct INITIALIZE!");

model = new TimelineModel();
allPlans = tPlanService.getAllTPlan();

for (TrainingPlan tp : allPlans) {
LOGGER.info("IN FOR: " + tp.getEndDate());
model.add(new TimelineEvent(tp.getName(), tp.getStartDate(), tp.getEndDate()));
}

}

public void onSelect(TimelineSelectEvent e) {
LOGGER.info("In onSelect of NAV");
TimelineEvent timelineEvent = e.getTimelineEvent();

facesMessageBox.infoMessage("Selected event:", "aaaaaaaaaaaaaaaaaaaaa");
}

這個方法(onSelect)永遠不會被ajax調用! :(

展示示例對我也不起作用。 但是將帶有封閉形式的process屬性作為值添加到ajax標記對我來說是有效的:

<h:form id="form">
  ...
  <p:ajax
    event="select"
    listener="#{nav.onSelect}"
    process=":form"
  />
  ...
</h:form>

請注意:添加@this或時間軸標識符也不起作用!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM