我正在用Java和ZK开发ERP。

我有一个borderlayout,其中北部包含带有一些过滤器的面板。

我想让北方崩溃。

如果我按下箭头以将其折叠或打开,则可以正常工作,但如果我在条上按它,则不能正常打开,而只能预览。

我可以禁用此功能吗?我可以处理栏上的click事件吗?

Java:

North north = new North();
m_mainLayout.appendChild(north);
north.setHflex("1");
north.setCollapsible(true);

最佳答案

有几件事可以帮助您。其中一些可能是相当新的,因为它们没有充分记录,并且在我的Eclipse zul自动完成中不可用。

首先:幻灯片-布局区域上有一个setSlide(boolean),单击该栏时您可以听一个onSlide event,但没有按钮时可以听。

其次,有一个library property可以关闭合拢动画:

<library-property>
    <name>org.zkoss.zul.borderlayout.animation.disabed</name>
    <value>true</value>
</library-property>


您可以在zk.xml中指定它,以查看您的案例在使用或不使用动画的情况下效果更好(在我的迷你示例中,在不使用动画的情况下效果更好)。

第三,也是最重要的一点,添加此样式,使整个栏的行为类似于按钮:

<style>
    .z-north-collapsed>.z-borderlayout-icon {
        top: 0; bottom: 0; right: 0; left: 0;
        width: 100%; height: 100%;
    }
    .z-north-collapsed>.z-borderlayout-icon::before {
        vertical-align: middle;
    }
</style>


这仅适用于north,您可能希望使其在其他区域更通用。我发现使按钮变大,并将所有动画/事件处理/组件替换留给zk看起来和效果最佳。



例:

<style>
    .z-north-collapsed>.z-borderlayout-icon {
        top: 0; bottom: 0; right: 0; left: 0;
        width: 100%; height: 100%;
    }
    .z-north-collapsed>.z-borderlayout-icon::before {
        vertical-align: middle;
    }
</style>

<borderlayout>
    <north splittable="true" collapsible="true" >
        <button label="hello" />
    </north>
    <center>
        <textbox value="world" />
    </center>
</borderlayout>

关于java - 处理borderlayout zk上的事件折叠栏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45983441/

10-10 15:58