一、在form中hide(),show()这些只是设置了输入框的隐藏与显示,并没有设置label标签的隐藏与显示。

//获得操作对旬
var field=Ext.getCmp("id');
//显示
showField(field);
//隐藏
hideField(field);

function hideField(field){
  field.disable();// for validation
  field.hide();
  field.getEl().up('.x-form-item').setDisplayed(false); // hide label
}
 
function showField(field){
  field.enable();
  field.show();
  field.getEl().up('.x-form-item').setDisplayed(true);// show label
}

二、ExtJS中form表单的组件可以初始设置emptyText,如果想要动态改变,第一想法是获取到组件并设定emptyText,但是这时候你会发现emptyText并未改变,并不像value那样,emptyText是组件初始化的时候就加上去的,api中也并未提供设置emptyText的方法,那么怎么改变呢,看源码,在源码中发现,有一个方法很重要applyEmptyText,而这个方法是可以在外部调用的,经过测试也是有效的。

Extjs 动态设置组件的隐藏和显示,以及动态设置emptyText值

设定方法如下:

  1. Ext.getCmp('cmpId').emptyText='newEmptyText';  
  2. Ext.getCmp('cmpId').applyEmptyText();  

相关文章:

  • 2021-07-07
  • 2021-07-01
  • 2022-12-23
  • 2022-12-23
  • 2021-11-09
  • 2021-09-18
  • 2022-12-23
  • 2021-10-26
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案