ZK MVVM活页夹使用EL表达式保存

ZK MVVM活页夹使用EL表达式保存,mvvm,save,zk,Mvvm,Save,Zk,如何使用zk MVVM实现这一点 我想存一颗豆子 但有条件 如果类型为personal,则保存到personal,否则保存到company 我的建议是修改代码并使用临时变量: 并将setter修改为 void setTemp(Long temp) { if(personal) { masterCifPersonal.cifId = temp; } else { masterCifCompany.cifId = temp; } } 我

如何使用zk MVVM实现这一点

我想存一颗豆子 但有条件 如果类型为personal,则保存到personal,否则保存到company


我的建议是修改代码并使用临时变量:


并将setter修改为

void setTemp(Long temp) {
    if(personal) {
        masterCifPersonal.cifId = temp;
    } else {
        masterCifCompany.cifId = temp;
    }
}

我的建议是修改代码并使用临时变量:


并将setter修改为

void setTemp(Long temp) {
    if(personal) {
        masterCifPersonal.cifId = temp;
    } else {
        masterCifCompany.cifId = temp;
    }
}

另一个解决办法可以是:

ZK 8及以上:

ZK 6.5更高:

区别: if标记将将另一个标记渲染到dom中,而使用visible属性将其渲染到dom中。
如果personal不是动态的,您可以使用
文本框的
If
属性,但用法是:
If=“${vm.personal}
,因为绑定将不起作用

这样,文本框也不会呈现到DOM中。

另一种解决方案可能是:

ZK 8及以上:

ZK 6.5更高:

区别: if标记将将另一个标记渲染到dom中,而使用visible属性将其渲染到dom中。
如果personal不是动态的,您可以使用
文本框的
If
属性,但用法是:
If=“${vm.personal}
,因为绑定将不起作用
这样,文本框也不会呈现到DOM中

<textbox value="@save(vm.masterCifPersonal.cifId)" visible="="@load(vm.personal)"/>
<textbox value="@save(vm.masterCifCompany.cifId)" visible="="@load(not vm.personal)"/>