我使用zk框架mvvm方法添加,编辑对象。当我第一次单击添加按钮时,打开表单为空并且运行顺利。从列表中编辑记录后,我得到预先选择的组合框值,并且不能选择已选择的值,否则,我得到null,我无法提交表单。这意味着我不能再次选择值来成功进行crud操作。我的每个案例的编辑功能都运行正常,没有问题,所有textbox和intbox都正常工作
我正在关注这篇文章 http://books.zkoss.org/wiki/Small_Talks/2012/February/MVVM_in_ZK6:_Form_Binding
我有三个对象,newObject,selectedObject和editObject
来自zul文件的表单摘录
<grid sizedByContent="true"
form="@id('ds')
@load(vmc.newObject, after='addInvoke') @save(vmc.newObject, before='add')
@load(vmc.editObject, after='editInvoke') @save(vmc.editObject, before='edit')
@validator('com.example.MyValidator')"
>
<combobox model="@load(ds.unitList)"
selectedItem="@bind(ds.abc.unit)" readonly="true" maxlength="50"/>
我从SampleViewModel编辑和添加函数的方法片段如下
@Command("edit")
@NotifyChange({ "objectList", "selectedObject", "editObject" })
@Override
public void edit() {
service.editKpi(editObject);
editObject = null;
}
@Command("addInvoke")
@NotifyChange("newObject")
@Override
public void onClickAddButton(){
enableEditMode(false);
isNewMode = true;
newObject = new AbcDTO();
}
答案 0 :(得分:0)
我已经修好了自己。
解决方案也是组合框中的使用值以及selecteditem