Nil*_*hal 4 extjs sencha-touch extjs4 sencha-touch-2
我使用以下属性来创建文本字段并禁用它以供用户编辑.
禁用:是的
下面是我的Xtype decleration的代码.
xtype : 'passwordfield',
name : 'password',
id: 'password',
disabled: true,
label : 'Password',
placeHolder :'Password',
useClearIcon : false
Run Code Online (Sandbox Code Playgroud)
它看起来如下图所示.标签显示为灰色.请让我知道如何使其不可编辑,标签将保持不变.

编辑-1: 之后,Stack溢出和sencha论坛中的几个搜索我发现下面的代码能够使我的文本字段不可编辑,但现在它本质上是静态的.
listeners: {
afterrender: function(ele) {
ele.fieldEl.dom.readOnly = true;
}
}
Run Code Online (Sandbox Code Playgroud)
我们可以设置属性一次,但它没有任何动态设置的方法.我需要动态,因为我有时会让用户进行编辑,有时也可以进行编辑.禁用.
在Sencha Touch中使文本字段不可编辑的任何其他方法都是值得赞赏的.
小智 8
readOnly: true
Run Code Online (Sandbox Code Playgroud)
thx,这对我来说很好.现在我可以使用像标签这样的文本字段.使用简单字段导致formpanel.data出现问题
readOnly应该是初始设置的一部分,例如:
xtype : 'passwordfield',
name : 'password',
id: 'password',
disabled: true,
label : 'Password',
placeHolder :'Password',
useClearIcon : false,
readOnly: true
Run Code Online (Sandbox Code Playgroud)
使用readOnly:
readOnly: true
Run Code Online (Sandbox Code Playgroud)
设置fieldEl.dom.readOnly并不像大多数人想象的那样真正静态,因为 readOnly 标志不是 Sencha 特定的选项。这意味着:您保存要设为只读的项目并动态更改其状态,然后添加另一个设置fieldEl.dom.readOnly为 false 的控件,瞧,您的项目再次可编辑。