tôi đã cố gắng để tạo ra một ComboBox đơn giản:ExtJS ComboBox triggerAction: "tất cả" thực sự làm gì?
var combo1 = new Ext.form.ComboBox({
store: [1,2,3],
renderTo: document.body
});
Nhưng bằng văn bản theo cách này nó hoạt động kỳ lạ:
- Khi bạn lần đầu tiên pop mở thả xuống, nó cung cấp ba lựa chọn.
- Bạn chọn một.
- Nhưng khi bạn cố gắng thay đổi lựa chọn của mình, menu thả xuống chỉ cung cấp một lựa chọn - một lựa chọn bạn đã chọn trước đây.
tôi so mã của tôi để các samples trên trang chủ Ext và phát hiện ra rằng việc thêm triggerAction: "all"
giải quyết vấn đề của tôi:
var combo2 = new Ext.form.ComboBox({
triggerAction: "all",
store: [1,2,3],
renderTo: document.body
});
ExtJS tài liệu cho triggerAction
không nói với tôi rất nhiều:
Các hành động để thực hiện khi kích hoạt được nhấp vào. Sử dụng 'tất cả' để chạy các truy vấn theo quy định của allQuery cấu hình tùy chọn (mặc định là 'truy vấn')
Tôi đã không được xác định tùy chọn allQuery. Trên thực tế, tôi không muốn thực hiện một truy vấn đến máy chủ cả.
Vì vậy, điều này triggerAction
thực sự làm gì?
Và đặt nó thành "all"
thực sự những gì tôi nên làm khi tôi chỉ muốn một combobox tĩnh đơn giản?
Cảm ơn. Giờ thì tôi đã hiểu. –
Điều này có ý nghĩa bây giờ, nhưng đây là một lựa chọn thực sự kém tên! – duma
Lý do cho tên là cấu hình được thừa kế từ 'TriggerField' và do đó được sử dụng rộng rãi hơn bên ngoài combo và thậm chí không phải liên quan đến lọc trong các triển khai khác. Nhưng có, một bí danh kết hợp cụ thể có nhiều tính mô tả hơn có thể đẹp. –