2013-02-05 31 views
5

Trong kiến ​​trúc sư Sencha, tôi muốn mở rộng Ext.form.field.Picker để tạo thành phần tùy chỉnh. Nhưng Ext.form.field.Picker không có trong các phần tử hộp công cụ khả dụng. Tôi có thể làm điều đó bằng cách nào đó?Kiến trúc sư Sencha: mở rộng Ext.form.field.Picker

tôi cố gắng ghi đè lên các lĩnh vực kích hoạt, và thay đổi:

extend: 'Ext.form.field.Trigger' 

để

extend: 'Ext.form.field.Picker' 

nhưng nó không làm gì.

+0

Tham khảo liên kết sau, bạn có thể nhận được một số ý tưởng. http://stackoverflow.com/questions/6092112/ext-ux-form-field-datetime-questions –

+2

Tạo 'lớp' mới cho phép bạn chỉ định thuộc tính kéo dài, không may sau đó không phải thuộc tính 'trình chọn' . hoặc viết của riêng bạn bằng cách tạo tài nguyên js 'và đặt nó vào thư mục tài nguyên/ux của bạn. Sau đó, bạn có thể gọi nó là ví dụ: Common.ux.picker.MyPicker đi vào nguồn lực/ux/chọn/MyPicker.js sau đó nhấn + (cộng) bên cạnh bộ nạp vào nút 'ứng dụng' và thêm một mục vào mảng {'MyApp:'. ',' Global ':' resources '} và sau đó ứng dụng sẽ tìm thấy phần mở rộng của bạn. – Dawesi

+0

Nếu tôi hiểu chính xác bạn đang cố gắng xây dựng một thành phần dựa trên 'Ext.form.field.Picker'. Từ các tài liệu 'Ext.form.field.Picker' là một lớp trừu tượng và không nên được sử dụng trực tiếp. Các lớp con phải triển khai phương thức createPicker để tạo thành phần bộ chọn thích hợp cho trường. Combobox, Date, Time vv mở rộng từ lớp này. Vì vậy, bạn có thể sử dụng chúng để xây dựng thành phần của bạn. – dev

Trả lời

0

Trong kiến ​​trúc sư Sencha của bạn (tốt nhất là phiên bản 3.1), hãy nhấp vào dấu cộng (góc trên cùng bên phải) bên trong Trình kiểm tra dự án, chọn Lớp và Chế độ xem.

Bạn sẽ nhận được một lớp trống mới đang được mở rộng từ Ext.Base. Thay đổi thuộc tính mở rộng thành Ext.form.field.Picker và bạn sẽ nhận được một cửa sổ bật lên hỏi "Bạn có muốn chuyển lớp này thành tệp Ext.form.field.Picker để kích hoạt cấu hình và hành vi đầy đủ" hay không. Nhấp vào có và bạn nên tốt để đi.

Các vấn đề liên quan