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

Posted

技术标签:

【中文标题】如何在 Sencha Touch 中使文本字段不可编辑【英文标题】:How to make text field non editable in Sencha Touch 【发布时间】:2011-10-28 08:47:15 【问题描述】:

我已使用以下属性创建文本字段并禁用它以供用户编辑。

已禁用:真

下面是我的 Xtype decleration 代码。

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

它看起来如下图所示。标签变灰。请让我知道如何使它不可编辑并且标签将保持不变。

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

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

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

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

【问题讨论】:

【参考方案1】:
readOnly: true

thx,这对我来说很好用。现在我可以使用像标签这样的文本字段。使用简单的字段会导致 formpanel.data 出现问题

【讨论】:

【参考方案2】:

更新

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

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

使用readOnly

readOnly: true

【讨论】:

。这没有效果,我也试过了。我已经编辑了我的问题,请查看更新的编辑部分。 我们也没有 Ext.form.Text 类的任何只读属性。 @Neel 是 readOnly 还是 readonly 属性为您工作?区分大小写无效。我只是使用 disabled:true 你也可以使用监听器: afterrender: function(ele) ele.fieldEl.dom.readOnly = true; 也试过了。我现在明白了。你说的是煎茶触摸1?我被 sencha-touch-2 标签弄糊涂了.. Tnx 反正!【参考方案3】:

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

【讨论】:

以上是关于如何在 Sencha Touch 中使文本字段不可编辑的主要内容,如果未能解决你的问题,请参考以下文章

SENCHA:如何通过单击 SENCHA touch 中的添加/删除按钮动态添加/删除文本字段

Sencha Touch:如何以编程方式关注 ios 上的文本字段?

在sencha touch 2中滚动面板时的文本字段焦点问题

如何在Sencha Touch的Text字段中添加属性?

Sencha Touch自动对焦在文本字段上

表单提交后如何在html中使文本字段不可编辑