Я пытаюсь опустить строку таблицы, когда логическое условие имеет значение false:
<zk if="${vm.visible}">
<n:tr>
<n:td>
<label value="Should be visible, too" />
</n:td>
</n:tr>
</zk>
Когда visible
равно true
, отображается следующий HTML-код:
<tr> </tr>
Почему это так?
ZK Fiddle: http://zkfiddle.org/sample/3ikg0ch/3-Weird-bug-with-native-HTML-and-zk-if
Полный ZUL:
<zk xmlns:n="native">
<window border="normal" title="hello" viewModel="@id('vm') @init('pkg$.TestComposer')">
<div>
visible=${vm.visible}
</div>
<n:table style="border: 1px solid green;">
<n:tr>
<n:td>
<label value="Visible" />
</n:td>
</n:tr>
<zk if="${vm.visible}">
<n:tr>
<n:td>
<label value="Should be visible, too" />
</n:td>
</n:tr>
</zk>
</n:table>
<n:table style="border: 1px solid red;">
<n:tr>
<n:td>
<label value="Table 2" />
</n:td>
</n:tr>
<zk if="${vm.hidden}">
<n:tr>
<n:td>
<label value="Should be hidden" />
</n:td>
</n:tr>
</zk>
</n:table>
</window>
</zk>
Просмотр модели:
package pkg$;
import org.zkoss.zk.ui.*;
import org.zkoss.zk.ui.event.*;
import org.zkoss.zk.ui.util.*;
import org.zkoss.zk.ui.ext.*;
import org.zkoss.zk.au.*;
import org.zkoss.zk.au.out.*;
import org.zkoss.zul.*;
public class TestComposer extends GenericForwardComposer{
public boolean isVisible() {
return true;
}
public boolean isHidden() {
return false;
}
}