Пользовательский интерфейс angular-kendo, NumericTextBox, не может отображать нулевое значение
Когда я устанавливаю начальное значение переменной в "0", поле NumericTextBox не может показать это значение.
Код:
<div ng-app="app">
<div ng-controller="MyCtrl">
<input type="text" ng-model="value" kendo-numeric-text-box>
<br>
<input type="text" ng-model="value">
</div>
</div>
JS:
angular.module('app', ['kendo.directives']);
function MyCtrl($scope) {
$scope.value=0;
};
В jsfiddle вы можете видеть, что простое текстовое поле отображает нулевое значение, но кендо NumericTextBox пусто. Но если вы снова введете ноль в простом текстовом поле, то ноль будет и в поле кендо. Я думаю, что это ошибка, как обойти эту проблему?
1 ответ
Что ж, если это ошибка, вы можете либо попросить помощника angular-kendo исправить это, либо вы можете исправить это самостоятельно. Я думаю, это относительно простое исправление, потому что функция связи не различает значения модели от 0 до undefined
, Таким образом, вам нужно убедиться, что метод значения виджета вызывается только с null
если значение на самом деле null
или не определено:
if (typeof ngModel.$viewValue !== 'undefined') {
widget.value(ngModel.$viewValue);
} else {
widget.value(null);
}
Вот демо с фиксированной версией (обратите внимание на ссылки на форк angular-kendo).