(ZK 7) 自动填充不绑定我的数据(MVVM 和作曲家)
Posted
技术标签:
【中文标题】(ZK 7) 自动填充不绑定我的数据(MVVM 和作曲家)【英文标题】:(ZK 7) Auto fill no binding my data (MVVM and composer) 【发布时间】:2015-04-17 14:47:17 【问题描述】:我有一种带有自动填充铬的 zk 7 错误:(
自动填充填充我的网页(文本框)中的字段,但我的视图模型的字段使用 chrome 保持为空。
例如,使用自动填充的地址表单,我的视图模型中的所有数据都为空(不在网页上的文本框中)
如果我模拟一个事件“onChange”,我的绑定工作。
(zAu.send(new zk.Event(zk.Widget.$('$idOfMyTextBox'),"onChange",'value':'test!!','start':6)) )
一个mvvm页面的新zk项目也是同样的问题。
有人有解决办法吗?
感谢您的帮助:)
编辑:一个例子
我写下我的名字,并用 Chrome 自动填充其他字段。
Screen of form auto filled
结果是:
名称:鸽子 名字:空 地址:空 邮政编码:空 城市:空
祖尔
<zk xmlns="http://www.zkoss.org/2005/zul"
xmlns:h="http://www.w3.org/1999/xhtml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul/zul.xsd">
<window apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init('com.enriquepigeon.TestZk.MyViewModel')">
<label value="Name" />
<textbox value="@bind(vm.nom)" />
<h:br />
<label value="First name" />
<textbox value="@bind(vm.prenom)" />
<h:br />
<label value="Address" />
<textbox value="@bind(vm.adresse)" />
<h:br />
<label value="Postal code" />
<textbox value="@bind(vm.codePostal)" />
<h:br />
<label value="City" />
<textbox value="@bind(vm.ville)" />
<h:br />
<button label="launch" onClick="@command('launch')" />
</window>
/zk>
我的视图模型
public class MyViewModel
private String nom;
private String prenom;
private String ville;
private String adresse;
private String codePostal;
public String getNom()
return nom;
public void setNom(String nom)
this.nom = nom;
public String getPrenom()
return prenom;
public void setPrenom(String prenom)
this.prenom = prenom;
public String getVille()
return ville;
public void setVille(String ville)
this.ville = ville;
public String getAdresse()
return adresse;
public void setAdresse(String adresse)
this.adresse = adresse;
public String getCodePostal()
return codePostal;
public void setCodePostal(String codePostal)
this.codePostal = codePostal;
@Command
public void launch()
System.out.println("Name : "+nom);
System.out.println("First name : "+prenom);
System.out.println("Address : "+adresse);
System.out.println("Postal code : "+codePostal);
System.out.println("City : "+ville);
可能是 zk.xml 上的配置,用于强制 zk 读取 dom?
【问题讨论】:
【参考方案1】:将数据从表单保存到视图模型的最佳方法是将绑定与 zul 分开 名字文本框的示例:
<textbox value="@load(vm.prenom) @save(vm.prenom, before='launch')" />
如果您对所有文本框都这样做,您将节省大量客户端/服务器通信,我认为它适用于您的情况
问候
【讨论】:
您好,感谢您的帮助。我试过你的解决方案,但结果是一样的:(以上是关于(ZK 7) 自动填充不绑定我的数据(MVVM 和作曲家)的主要内容,如果未能解决你的问题,请参考以下文章