如图,一开始考虑是数据和Options的加载顺序问题,但新增按钮setValue测试后还是无效,是不是bug?
cuba自带的radioButtonGroup不能实现数据回显的问题,建议用源生js手搓实现。
isNeedDo 是什么类型?
数据类型是DataDictionaryAttribute类型,我们自定义的数据字典实体类,页面初始化时已经初始化了OptionList为List<DataDictionaryAttribute>
使用Java基本数据类型,可以回显
这个问题是在 setValue的时候不能用 new
的实体,后台在回显的时候会用值与 Options list 里面的值比较,相等才能显示,示例:
@Inject
private RadioButtonGroup<Book> radioButtonGroup;
private List<Book> options;
@Subscribe
public void onInit(InitEvent event) {
options = Arrays.asList(new Book("Book1"), new Book("Book2"));
radioButtonGroup.setOptionsList(options);
}
@Subscribe
public void onAfterInit(AfterInitEvent event) {
Book b = options.get(1);
radioButtonGroup.setValue(b); // 这样可以显示
// radioButtonGroup.setValue(new Book("Book2")); 这样显示不了
}