valuepicker如何限制对多只能输入10个

image

目前是不支持的。我昨天后来想了想,还有一个办法是扩展系统的 selectValueDialog

在新建界面的时候选择:
image

然后选择系统的 select-value-dialog 进行扩展。比如我们扩展后的页面叫 my-select-value-dialog,在控制器中重写父类的 addValueToLayout() 方法,如下:

@UiController("my_selectValueDialog")
@UiDescriptor("my-select-value-dialog.xml")
public class MySelectValueDialog<V> extends SelectValueDialog<V> {
    @Autowired
    private Notifications notifications;

    @Override
    protected void addValueToLayout(V value) {

        if(values.size() == 3){
            notifications.create().withDescription("最多只能选3个").show();
            return;
        }

        super.addValueToLayout(value);
    }
}

然后,为select操作指定新的screenId:
image

结果:
image

同样的,如果有其他定制化的需求也可以覆盖父类的方法实现。

这样好多了 :wave:,自带的功能我们不用重新再弄了