2013-06-06 20 views
9

Tôi có một mảng các đối tượng chỉ là các mục. Tôi cũng có một danh sách thả xuống mà tôi muốn sử dụng để cho phép người dùng lọc theo giá hoặc xếp hạng, tuy nhiên khi tải trang, sẽ không có bộ lọc.lọc dữ liệu bằng cách sử dụng menu thả xuống?

Làm cách nào để ánh xạ dữ liệu mục để lọc dựa trên tùy chọn chọn hiện tại?

Tôi có một plunkr để bắt đầu: LINK

+0

Vui lòng nhấp vào "Lưu" trong thư rác của bạn và cập nhật câu hỏi của bạn bằng URL mới. Bạn đã đăng lên một gist với trống rỗng AngularJS. –

+0

Xin lỗi, plunkr đã cư xử kỳ lạ vào ngày hôm nay. Thử ngay – Malcr001

+0

Một blog chi tiết có ví dụ: http://goo.gl/XYmwkr –

Trả lời

17

Trước hết, chọn giá trị của bạn là mơ hồ. Chúng chứa các giá trị có thể lọc và sắp xếp các mục - tách riêng hai giá trị vì chúng là hai chức năng khác nhau.

Tiếp theo, bạn cần xác định Bộ lọc tùy chỉnh sẽ lọc dữ liệu dựa trên xếp hạng đã chọn. Đối với điều này, bạn nâng cao tiêu chí lọc với thuộc tính "Xếp hạng" để liên kết xếp hạng được chọn với giá trị xếp hạng.

Cuối cùng, liên kết sắp xếp với biến vị ngữ và giá trị đảo ngược - biến vị ngữ xác định thuộc tính/cột để xác định sắp xếp (giá trong trường hợp của bạn) trong khi đảo ngược xác định bản chất tăng dần/giảm dần của sắp xếp.

Toàn bộ mã có thể được tìm thấy ở đây - http://plnkr.co/edit/n7TebC?p=preview

Tôi đã cập nhật plunkr và giới thiệu ý kiến ​​vì vậy hãy cho tôi biết nếu bạn không hiểu một mã.

+0

Cảm ơn bạn đã trợ giúp. – Malcr001

+0

Đây không phải là bộ lọc tùy chỉnh vì Angular sử dụng thuật ngữ đó nhưng nó hoạt động như thế. –