0

オブジェクトを追加、編集するためにzkフレームワークのmvvmアプローチを使用しています。初めて[追加]ボタンをクリックすると、オープニングフォームが空になり、スムーズに実行されます。リストからレコードを編集した後、コンボボックスの値が事前に選択されており、すでに選択されている値を選択しないでください。選択しないと、nullになり、フォームを送信できません。これは、クラッド操作を成功させるために選択した値を再度選択できないことを意味します。すべてのケースの編集機能は正常に機能しており、問題はなく、すべてのテキストボックスとintboxが正常に機能しています。

私はこの記事をフォローしています http://books.zkoss.org/wiki/Small_Talks/2012/February/MVVM_in_ZK6:_Form_Binding

newObject、selectedObject、editObjectの3つのオブジェクトがあります

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();



}
4

1 に答える 1

0

私はそれを自分で修正しました。

解決策は、選択したアイテムと一緒にコンボボックスでも値を使用することです

于 2014-01-29T04:24:42.360 に答える