我正在用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/