GWT 编辑器使用 IsEditor<LeafValueEditor<Date>> 填充 Long 字段



我刚刚掌握了使用Editor framework的窍门,正在移植我的所有表单来使用它。我在Event表单上遇到了一些麻烦。我有5个不同的time fields-每个字段我都使用DateBox来允许用户选择时间。

在旧的Activity中,我将这些字段的值转换为Long次,填充proxy object并持久化它

我想用Editor framework做同样的事情。我是否可以使用EditorDateBox来填充域对象中的Long字段。我相信一定有办法做到这一点,我只是很难弄清楚。

如果不是这样,而我现在还不能这样做,有人知道如何做到这一点的好解决方案吗?

您必须将DateBox封装在Editor<Long>中。类似于:

@Editor.Ignore
@UiField
DateBox dateField;
LeafValueEditor<Long> longField = new LeafValueEditor<Long>() {
    @Override
    public Long getValue() {
        Date date = dateField.getValue();
        return date == null ? null : date.getTime();
    }
    @Override
    public void setValue(Long value) {
        Date date = value == null ? null : new Date(value.longValue());
        dateField.setValue(date);
    }
}

最新更新