2012-09-14 18 views
6

Tôi cần phải thêm một MenuItem mới được tạo khi chạy; vì vậy mã của tôi hiện tại trông giống như:ExtJS: thêm MenuItem mới vào thực đơn Menu tại thời điểm chạy

var myMenu = myCmp.query('mymenu')[0]; // retrieve my only Menu object 
var menuItem = Ext.create('Ext.menu.Item', { 
    itemId: 'myItemId', text: 'textGoesHere' 
}); 
myMenu.add(menuItem); 

Tôi đang sử dụng add method để thêm mục; nhưng không có gì xảy ra với các mục menu mặc dù vào thời gian chạy. Mặc dù gỡ lỗi cho thấy rằng mục mới thực sự đã được thêm vào cấu hình items của cá thể Menu.

Sử dụng remove method tuy nhiên không hoạt động, vào thời gian chạy.

Câu hỏi: Cách đặt MenuItem mới được hiển thị khi chạy? Tôi đang thiếu gì?

CẬP NHẬT: mã ở trên hoạt động; Tôi đã có một tuyên bố chuyển đổi thiếu sót đã gây ra một đi qua logic, loại bỏ menuItem được tạo cuối cùng.

+0

Bạn đã cố gắng áp dụng một cấu hình chưa? Có thể có một lỗi? Về cơ bản điều này sẽ làm việc ra khỏi hộp mà không có bất kỳ cuộc gọi bổ sung cần thiết. – sra

+0

@sra Tôi đồng ý với bạn rằng nó sẽ hoạt động ra khỏi hộp. Bạn có ý nghĩa gì bởi "* chỉ áp dụng một cấu hình *"? Cảm ơn. –

+0

Tôi đã đăng một ví dụ hoạt động. Hãy cho tôi biết nếu bạn cần thêm thông tin/trợ giúp – sra

Trả lời

5

Comment vết sưng lên

Các OP viết

OK để tôi theo dõi vấn đề này xuống; Tôi đã có một tuyên bố chuyển đổi thiếu sót là gây ra một bước khác thông qua logic, xóa mục trình đơn vừa tạo. Tuy nhiên tôi sẽ đánh dấu câu trả lời của bạn là chính xác vì nó hoạt động tốt như (bằng cách chuyển qua cấu hình obj).


Ví dụ này hoạt động:

var menu = Ext.create('Ext.menu.Menu', { 
    width: 100, 
    height: 100, 
    floating: false, // usually you want this set to True (default) 
    renderTo: Ext.getBody(), // usually rendered by it's containing component 
    items: [{ 
     text: 'icon item', 
     iconCls: 'add16' 
    },{ 
     text: 'text item' 
    },{ 
     text: 'plain item', 
     plain: true 
    }] 
}); 

menu.add({text:'test'}); 

Tôi không khá chắc chắn nhưng theo API Menu có bảng as type mặc định khi bạn nhìn vào menu nhưng nó có vẻ là menuitem theo đến menuitem API
Điều này có thể hơi khó hiểu.

+0

OK Tôi theo dõi sự cố; Tôi đã có một tuyên bố 'switch' thiếu sót đã gây ra một lỗi khác thông qua logic, loại bỏ menuItem được tạo cuối cùng. Tuy nhiên tôi sẽ đánh dấu câu trả lời của bạn là chính xác như nó hoạt động tốt (bằng cách đi qua các cấu hình obj). –

+1

@JosvicZammit Miễn là tôi có thể trợ giúp và nó hoạt động ngay bây giờ;) – sra

+0

@ sra Bạn có thể vui lòng cập nhật câu trả lời để nói ở trên cùng rằng câu trả lời của OP * có hoạt động * không? Tôi đã không đọc các bình luận lần đầu tiên tôi đến đây và đã đi trên một cuộc săn ngỗng hoang dã cố gắng để lực lượng háo hức rendering trên một mục trình đơn thêm vào như là một đối tượng cấu hình. Để làm rõ, cách tiếp cận của OP * làm * hoạt động, chính xác như vậy. –

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