如何在Sencha Touch中使文本字段不可编辑

时间:2011-10-28 08:47:15

标签: sencha-touch extjs4 extjs sencha-touch-2

我使用以下属性制作文本字段并禁用它以供用户编辑。

已停用:为真

下面是我的Xtype decleration的代码。

xtype : 'passwordfield',
name : 'password',
id: 'password',
disabled: true,
label : 'Password',
placeHolder :'Password',
useClearIcon : false

它出现如下图所示。标签显示为灰色。请让我知道如何使其不可编辑,标签将保持不变。

enter image description here

修改-1: 之后,Stack溢出和sencha论坛中的几个搜索我发现下面的代码能够使我的文本字段不可编辑,但现在它本质上是静态的。

 listeners: {
            afterrender: function(ele) {
                     ele.fieldEl.dom.readOnly = true;
          }
     }

我们可以设置属性一次,但它没有任何动态设置的方法。我需要动态,因为我有时会让用户进行编辑,有时也可以进行编辑。已禁用。

感谢在Sencha Touch中使文本字段不可编辑的任何其他方法。

3 个答案:

答案 0 :(得分:7)

readOnly: true
是的,这对我来说很好。现在我可以使用像标签这样的文本字段。使用简单字段导致formpanel.data

出现问题

答案 1 :(得分:4)

更新

readOnly应该是初始设置的一部分,例如:

xtype : 'passwordfield',
name : 'password',
id: 'password',
disabled: true,
label : 'Password',
placeHolder :'Password',
useClearIcon : false,
readOnly: true

使用readOnly

readOnly: true

答案 2 :(得分:1)

大多数人认为fieldEl.dom.readOnly的设置并不是静态的,因为readOnly标志不是特定于Sencha的选项。这意味着:您保存要制作只读的项目并动态更改其状态,然后添加另一个将fieldEl.dom.readOnly设置为false的控件,瞧,您的项目可以再次编辑。