KendoUI 数字框未正确设置 ngModel



如果我这样初始化带有ngModel的输入框:

angular.element(element.find("input")).kendoNumericTextBox({
  decimals : 4,
  format : "#.####"), // to match step and format
  step : step,
  value : value,
  min : scope.min,
  max : scope.max
});

现在输入value:

3.33333333

,然后显示出来:

3.3333

但是ngModel仍然被设置为3.33333333

这是一个Kendo-AngularJS bug吗?

看来这是有效的行为。我向kendo-labs报告了这个问题:

https://github.com/kendo-labs/angular-kendo/issues/240 issuecomment - 37793471

我这样做是为了解决这个问题(我有一个作用域变量模型:"=ngModel"):

scope.$watch("model", function(newValue, oldValue) {
 if (newValue !== undefined) {
   kendoNumericBox.data("kendoNumericTextBox").value(newValue);
   scope.model = kendoNumericBox.data("kendoNumericTextBox").value()
 }
});

虽然这么说,也有一个问题,如果你从控制器更新ngModel它不反映在输入,直到你点击它,所以我也做了:

 scope.model = kendoNumericBox.data("kendoNumericTextBox").value();

再次检索值,所以它的验证与kendoNumericTextBox。

其中kendoNumericBox是kendoNumericTextBox构造函数的返回值:

kendoNumericBox = elemenet.kendoNumericTextBox({. . .

最新更新