Tôi đang sử dụng ExtJS 4.1. Tôi đang sử dụng cửa hàng clearFilter()
để xóa bộ lọc khỏi cửa hàng. Tôi đang áp dụng bộ lọc cho cửa hàng bằng cách sử dụng phương thức filterBy
. Tôi lọc tất cả các hồ sơ mà tên không phải là Ronaldo.Cách nhanh nhất để xóa bộ lọc khỏi ExtJs lưu trữ khi bộ lọc được áp dụng bằng cách sử dụng filterBy()
Sau khi xóa bộ lọc, tôi tải chế độ xem có chứa lưới (được đính kèm vào cửa hàng). Nhưng khi tôi tải lưới, tôi vẫn có thể thấy bộ lọc đó không bị xóa. Cửa hàng là cửa hàng địa phương. Tôi chưa áp dụng bất kỳ nhóm nào trên cửa hàng. Cửa hàng chỉ sử dụng một mô hình.
myStore.filterBy(function (record) {
if (record.get('Name') != 'Ronaldo') {
return true;
}
});
Trong khi tất cả điều này đang làm việc tốt, nhưng khi tôi xóa bộ lọc bằng cách sử dụng clearFilter()
, nó được tham gia một thời gian. Có cách nào nhanh hơn \ tốt hơn \ chính xác để xóa bộ lọc trên một cửa hàng khi bộ lọc được áp dụng bằng cách sử dụng filterBy()
?
Khi bạn nói "nó" đang tiến hành một thời gian, những gì là "nó"? Cửa hàng? Lưới/dataview? Bạn có lọc từ xa hoặc cục bộ không? Bạn đã áp dụng nhóm? Bạn có ức chế sự kiện trên clearFilter()? Và có bao nhiêu trường hợp mô hình trong cửa hàng của bạn? Tất cả hoặc một số hoặc không có vấn đề nào trong số này có thể quan trọng đối với vấn đề của bạn, nhưng không biết thêm chi tiết thì rất khó để đề xuất bất cứ điều gì, vì clearFilter() phải là một quá trình rất nhanh (kiểm tra nguồn: http: //docs.sencha. com/extjs/4.2.1/source/Store.html # Ext-data-Store-method-clearFilter) – existdissolve