valuesPicker控件 如何实现后台绑定数据?另外可以绑定map吗?

valuesPicker控件 如何实现后台绑定数据?另外可以绑定map吗?

不支持绑定map。但是支持实体,因此,我们可以创建一个DTO:

@JmixEntity(name = "leot_VpDTO")
public class VpDTO {
    @InstanceName //显示
    private String name;

    private String code;

 // getters and setters.
}

xml:

<valuesPicker id="valuesPicker">
    <actions>
        <action id="vpSelect" type="values_select">
            <properties>
                <property name="entityName" value="leot_VpDTO"/>
            </properties>
        </action>
        <action id="clear" type="value_clear"/>
    </actions>
</valuesPicker>

java:

var vpSelect = (ValuesSelectAction<VpDTO>)valuesPicker.getAction("vpSelect");
vpSelect.setUseComboBox(true);
var op1 = new VpDTO();
var op2 = new VpDTO();
op1.setName("op1");
op2.setName("op2");
op1.setCode("op_1");
op2.setCode("op_2");
// metadata 需要注入
vpSelect.setOptions(new ListEntityOptions<>(List.of(op1,op2), metadata));