Có thể ai đó có thể giúp tôi giải quyết một chút. Tôi khá mới trong lĩnh vực lập trình web, nhưng tôi có kinh nghiệm lập trình. Tôi muốn phát triển một trang web nhỏ sử dụng angularjs và ui-grid. Rất tiếc, tính năng lọc không hoạt động từ các trường nhập ngoài.Angularjs ui-grid Bộ lọc từ trường nhập văn bản
Ai đó có thể cho tôi biết lỗi lập trình của tôi ở đâu?
Mã này có thể được tìm thấy ở đây: http://plnkr.co/edit/fiA666OzpBqpTrCiuXER?p=preview
var myDummyData = [{name: "Moroni", age: 50},
{name: "Tiancum", age: 43},
{name: "Jacob", age: 27},
{name: "Nephi", age: 29},
{name: "Enos", age: 34}];
var myDummyData2 = [{name: "aTest", age: 50},
{name: "bTest1", age: 43},
{name: "cTest2", age: 27},
{name: "dTest3", age: 29},
{name: "eTest4", age: 34}];
$scope.filterOptions = {
filterText: ''
};
$scope.gridOpts = {
data: myDummyData,
enableFiltering: true,
columnDefs: [
{name: 'Name', field: 'name', enableFiltering: true
, filter: {
term: $scope.filterOptions.filterText //DOES NOT WORK... BUT WHY
}
},
{name: 'Price', field: 'age'}
]
};
$scope.updateData = function(newValue){
//console.log($scope.gridOpts.data);
console.log($scope.gridOpts.columnDefs[0].filter);
$scope.gridOpts.columnDefs[0].filter = {term: newValue};
console.log("Scope nameid set " + $scope.gridOpts.columnDefs[0].filter.term); //is set but no update
//$scope.$apply(); //not possible gives error! WHY??
//$scope.gridOpts.data = myDummyData; //for testing works
};
$scope.swapData = function() {
if ($scope.gridOpts.data === myDummyData) {
$scope.gridOpts.data = myDummyData2;
}
else {
$scope.gridOpts.data = myDummyData;
}
};
//DOES NOT WORK BUT WHY
// $scope.$watch('filterOptions.filterText', function (newValue, oldValue) {
// if ($scope.filterOptions.filterText) {
// $scope.filteringText = newValue;
// $scope.updateData(newValue);
// }
// });
Ý tưởng là để có một thanh điều hướng có chứa một lĩnh vực tìm kiếm. Sau đó, tôi muốn lọc tùy thuộc vào phạm vi trên các cột khác. Tuy nhiên, ngay cả chuỗi chuẩn cũng không hoạt động trong ví dụ của tôi.
Câu hỏi:
- ai đó có thể cho tôi biết nơi vấn đề hiện tại của tôi là gì? Cụ thể hơn: Tại sao tính năng lọc từ các trường nhập ngoài không hoạt động?
- Câu hỏi khác là làm cách nào để tôi có thể ràng buộc các giá trị nhỏ nhất và tối đa của các thanh trượt phạm vi, ví dụ: cột tuổi trong ví dụ của tôi? (liên quan trực tiếp đến vấn đề ràng buộc trong câu hỏi (1))
Tôi xem xét câu trả lời, nhưng đây là vấn đề ràng buộc mà tôi không thể nắm bắt, chỉ là vấn đề lập trình js, hoặc cập nhật ngGrid đến vấn đề ui lưới.
Thanks a lot trước
Tôi thấy rằng đây rõ ràng là vấn đề về lưới ui. Hoặc giải thích của tôi về nó. – cojack20