2012-09-14 20 views
6

Çalışma zamanında yeni oluşturulmuş bir MenuItem eklemem gerekiyor; Ben öğe eklemek add method kullanıyorumExtJS: çalışma zamanında Menü örneğine yeni MenuItem eklemek

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); 

;: gibi pek benim Kod şu anda görünüyor ama çalışma zamanında menü öğelerine hiçbir şey olmaz. Hata ayıklama, yeni öğenin, Menü örneğinin items yapılandırmasına gerçekten eklendiğini gösterir.

remove method'u kullanmak, çalışma zamanında çalışır.

Soru: Yeni eklenen MenuItem çalışma zamanında nasıl oluşturulur? Neyi kaçırıyorum? Yukarıdaki kod çalışır; Son oluşturulan menuItem'i kaldırarak mantıktan başka bir geçişe neden olan hatalı bir anahtar deyim vardı.

+0

Sadece bir yapılandırma yapmayı denediniz mi? Belki bir böcek var? Temel olarak bu, herhangi bir ek çağrı gerektirmeden kutudan çıkar. – sra

+0

@sra Size bu kutunun dışında çalışması gerektiğini kabul ediyorum. "* Sadece bir yapılandırma uygula" ile ne demek istiyorsun? Teşekkürler. –

+0

Çalıştığım bir örnek gönderdim. Eğer ek bilgi/yardım gerekiyorsa bana bildirin – sra

cevap

5

Yorum yükseltmek

OP

Tamam Sorunu izini yazdı; Son oluşturulan menuItem öğesini kaldırarak, mantıktan başka bir geçişe neden olan hatalı bir anahtar deyim vardı ve . Yine de cevabınızı doğru olarak çalışacağım ( (config obj).

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'}); 

Pek emin değilim ama menu baktığınızda API göre Menü varsayılan türü olarak paneli vardır ama menuitem göre görünmektedir:


Bu örnek çalışır menuitem API
için Bu biraz kafa karıştırıcı olabilir.

+0

Tamam Ben sorunu takip edin; Son oluşturulan menuItem'i kaldırarak mantıktan başka bir geçişe neden olan hatalı bir 'switch' deyim vardı. Yine de cevabınızı doğru olarak çalıştığından (yapılandırma objesini geçerek) işaretleyeceğim. –

+1

@JosvicZammit Yardımcı olabildiğim sürece ve şimdi çalışıyor;) – sra

+0

@sra Lütfen cevabın, OP'nin cevabının * çalıştığının * en üstte olduğunu söyler misiniz? Buraya ilk kez geldiğimde yorumları okumadım ve bir config nesnesi olarak eklenen bir menü öğesinde istekli render yapmaya zorlamak için vahşi bir kaz peşinde koşarak gittim. Açıklamak gerekirse, OP'nin yaklaşımı * aynen olduğu gibi * çalışır. –

İlgili konular