e.g:
<doublebox maxlength="10"
mandatory="@load(something.valueRequired)"
width="250px"
tooltiptext="Enter Number"
value="@bind(something.infoNumericValue)"
placeholder="@load(something.infoData);">
</doublebox>
所以,请告诉我如何添加
enter with dynamic content(@load(something.infoData))
在占位符中显示为“输入您的内容”。
答案 0 :(得分:1)
您可以使用EL表达式: -
placeholder="Enter ${something.infoData}"
你在EL表达式中编写的任何东西都需要先加载到zul中。所以确保你的东西已经加载了
答案 1 :(得分:1)
发现这个宝石埋在ZK MVVM EL documentation。
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
...
<doublebox placeholder="@load(c:cat('enter your ',something.infoData))"/>
首先我们加载核心ZK标记库,然后我们可以使用cat
函数将静态文本与动态加载的文本连接起来。
答案 2 :(得分:0)
EL($ {})和 MVVM(@
)表达式不能与文本文字混合使用。所以,甚至以下都不起作用:
&lt; label value =“Literal $ {expression}”/&gt;
<label value="Literal @load(data)"/>
由于整个事物不是表达式,因此ZK不会将其解释为表达式,而只是文本。注意我在这里使用标签来表达观点,但这适用于使用这些表达式的任何地方,包括占位符。
我的建议是将其移回您的视图模型:
<doublebox placeholder="@load(vm.placeholder)"/>
...
public MyViewModel {
private Something something;
public String getPlaceholder() {
return "Enter a " + something.getInfoData();
}
}
答案 3 :(得分:0)
<zk> <zscript>
class A
{
public A(String s, Long v, Boolean is_group) { s_= s; v_= v; is_group_= is_group; }
public String getLabel() { return s_; }
public void setLabel(String s) { s_=s; }
public Boolean isGroup() { return is_group_; }
public Long getValue() { return v_; }
public String getPlaceholder() { return "Please type some text"; }
String s_= null;
Long v_= null;
Boolean is_group_= null;
}
lm.add(new A("Today", 1L, Boolean.TRUE));
lm.add(new A("RE: Bandbox Autocomplete Problem", 2L, Boolean.FALSE));
lm.add(new A("", 3L, Boolean.FALSE));
lm.add(new A("RE: FileUpload", 4L, Boolean.FALSE));
lm.add(new A("", 5L, Boolean.FALSE));
lm.add(new A("Yesterday", 10L, Boolean.TRUE));
lm.add(new A("", 11L, Boolean.FALSE));
lm.add(new A("RE: SelectedItemConverter Question' ite", 12L, Boolean.FALSE));
lm.add(new A("Last week", 100L, Boolean.TRUE));
lm.add(new A("RE: Times_Series Chart help", 101L, Boolean.FALSE));
lm.add(new A("", 102L, Boolean.FALSE));
class VM
{
public ListModel getListModel() { return lm; }
}
]]></zscript>
<window id="win" title="Window ZK6 dynamic template" border="normal" width="600px"
apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('VM')" >
<listbox model="@bind(vm.listModel) @template(each.isGroup() ? 'group_model' : 'item_model')">
<listhead>
<listheader hflex="3" label="Column 1"/>
<listheader hflex="1" label="Column 2"/>
</listhead>
<template name="group_model">
<listgroup open="true" label="@load(each.label)"/>
</template>
<template name="item_model">
<listitem vflex="1">
<listcell>
<textbox hflex="1" placeholder="@init(each.placeholder)" value="@bind(each.label)"/>
</listcell>
<listcell>
<label value="@load(each.value)"/>
</listcell>
</listitem>
</template>
</listbox>
</window>
</zk>