Primefaces标签类似于StackOverflow自动完成标签?

时间:2015-11-16 18:31:16

标签: jsf primefaces

我发现this similar question遗憾的是这并没有解决我的问题(即使它有一个已接受的答案,似乎它没有回答这个问题)

基本上,我想用Primefaces 5.3实现类似的东西: StackOverflow question's tags 这是StackOverflow问题的标签片段。 Primefaces中有类似的东西吗?我找不到任何东西。我实际上并不需要建议的标签,我只需要像写单词时那样,按“”(或输入,或其他东西)然后需要实际的单词作为一个值。

我不知道我是否清楚,我希望你明白我的观点。你知道与此有关的事吗?

1 个答案:

答案 0 :(得分:3)

enter image description here

我在primefaces中做了以下几点。输入每个单词后,您必须按“Enter”按钮。

今天是忙碌的一天。所以无法改善location.reload

XHTML:

<p:autoComplete id="emailRecipients"
    value="#{scheduleDynamicReportCreateAction.selectedAuthUserNameAndEmails}"
    completeMethod="#{scheduleDynamicReportCreateAction.completeAuthUserNameAndEmails}"
    var="dto" forceSelection="false" queryEvent="enter" 
    itemLabel="#{scheduleDynamicReportCreateAction.fetShortVal(dto)}"
    itemValue="#{dto}" multiple="true" minQueryLength="1">

    <p:ajax event="query" listener="#{scheduleDynamicReportCreateAction.updateMe}" oncomplete="location.reload();"/>
    <p:column >  
     #{dto} 
    </p:column>

并在managedBean中:

HashSet<String> returnList = new HashSet<String>();

public List<String> completeAuthUserNameAndEmails(String query) {
    returnList.add(query);
    updateMe();
    return null;
}

public void updateMe(){
    if(selectedAuthUserNameAndEmails == null){
        selectedAuthUserNameAndEmails = new ArrayList<String>();
    }
    selectedAuthUserNameAndEmails.clear();
    selectedAuthUserNameAndEmails.addAll(returnList);
}


please implement itemUnSelect to remove items on x button


 <p:ajax event="itemSelect" listener="#{scheduleDynamicReportCreateAction.handleAuthUserNameAndEmailsSelect}" />

并从selectedAuthUserNameAndEmails

中删除项目