MDoubleBox 中的 setValue 以 Grouping/Decimal 分隔符失败

setValue in MDoubleBox fails with Grouping/Decimal separators

我在我的 mgwt 应用程序中使用 MDoubleBox 小部件,但在使用 setValue 方法(也适用于 setText)初始化值时遇到问题。

任何在内部被解析为包含分组或小数分隔符(即包含小数或大于 999)的双精度数在作为参数提供且给出空值时失败。相应的 gwt DoubleBox 工作正常。我目前 运行 在非默认语言环境中使用此功能,但在美国语言环境中也会出现相同的结果。

我可以使用 MTextBox 作为解决方法,如果有一种方法可以强制为用户输入这些字段时显示数字键盘。有吗?

关于 MDoubleBox 的使用,我有什么遗漏的吗?

.ui.xml:

    <mgwt:input.MDoubleBox ui:field="field1"/>
    <gwt:DoubleBox ui:field="field2"/>

代码:

    @UiField MDoubleBox field1;
    @UiField DoubleBox field2;

    field1.setValue(1234.56);
    field2.setValue(1234.56);

输出:

<blank>
1,234.56

因为DoubleBox实际上是<input type="text">所以"1,234.56"就可以了。但是 MDoubleBox<input type="number"> 并且它们更加严格并且不允许 NumberFormat.getDecimalFormat().format(object)DoubleRenderer 中产生的 , 字符。

可接受小数,您可以configure them

要解决此问题,您必须深入 MDoubleBox 并使用另一个 SDoubleBox 以避免使用 DoubleRenderer.

编辑: 我给 MGWT 发了一个 pull request,你可以看看它来帮助你解决这个问题。