Я пытаюсь создать таблицу, используя angular-smart-table , которая имеет несколько числовых столбцов. Я должен реализовать поиск диапазона по всем из них. Я создал директиву и пользовательский фильтр для фильтрации данных. Я могу реализовать это для одного столбца, но когда я использую одну и ту же директиву более одного раза, поиск диапазона перестает работать. Проблемы, с которыми сталкиваются, упомянуты ниже
- Невозможно найти результат в диапазоне
- Все «нижние» текстовые поля показывают одно и то же значение, когда значение вводится в одном текстовом поле.
- Все текстовые поля «выше» показывают одно и то же значение, когда значение вводится в одном текстовом поле.
Я создал plunk , аналогичный требованию. Пожалуйста, помогите !!
myApp.directive('stNumberRange', ['$timeout', function ($timeout) {
return {
restrict: 'E',
require: '^stTable',
scope: {
lower: '=',
higher: '='
},
template: '<input type="number" class="form-control input-sm" ng-change="rangeChanged()" step="0.01" ng-model="higher"/><input class="form-control input-sm" ng-change="rangeChanged()" type="number" step="0.01" ng-model="lower"/>',
link: function (scope, element, attr, table) {
var predicateName = attr.predicate;
scope.rangeChanged = function () {
var query = {};
if (scope.lower) {
query.lower = scope.lower;
}
if (scope.higher) {
query.higher = scope.higher;
}
table.search(query, predicateName)
}
}
};
}]);