栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何添加按钮以在最后一个标签附近添加新标签?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何添加按钮以在最后一个标签附近添加新标签?

您可以

<p:tabView>
用来显示基于某些bean集合的动态选项卡集。您可以将“添加”选项卡显示为选项卡集的最后一个选项卡。您甚至可以根据需要更改其样式。您可以使用
<p:ajaxevent="tabChange">
挂钩标签更改监听器,在其中可以检查“添加”标签是否已打开,然后添加新标签。

例如

<h:form id="form">    <p:tabView id="tabs" value="#{bean.tabs}" var="tab" widgetVar="w_tabs">        <p:ajax event="tabChange" listener="#{bean.changeTab}" oncomplete="if (args.newTabIndex) w_tabs.select(args.newTabIndex)" />        <p:tab title="#{tab.title}"> <p>#{tab.content}</p>        </p:tab>    </p:tabView></h:form>

@ManagedBean@ViewScopedpublic class Bean implements Serializable {    private List<Tab> tabs;    @PostConstruct    public void init() {        // Just a stub. Do your thing to populate tabs.        // Make sure that the last tab is the "Add" tab.        tabs = new ArrayList<Tab>();        tabs.add(new Tab("tab1", "content1"));        tabs.add(new Tab("tab2", "content2"));        tabs.add(new Tab("Add...", null));    }    public void changeTab(TabChangeEvent event) {        int currentTabIndex = ((TabView) event.getComponent()).getActiveIndex();        int lastTabIndex = tabs.size() - 1; // The "Add" tab.        if (currentTabIndex == lastTabIndex) { tabs.add(lastTabIndex, new Tab("tab" + tabs.size(), "content" + tabs.size())); // Just a stub. Do your thing to add a new tab. RequestContext requestContext = RequestContext.getCurrentInstance(); requestContext.update("form:tabs"); // Update the p:tabView to show new tab. requestContext.addCallbackParam("newTabIndex", lastTabIndex); // Triggers the oncomplete.        }    }    public List<Tab> getTabs() {        return tabs;    }}

Tab
在此示例中,该类只是具有属性
title
和的普通javabean
content
。该
oncomplete
<p:ajax>
是必要的,因为标签内容将添加新标签后否则消失(这看起来很像一个错误PF,毕竟,我用3.3的方式)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/498609.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号