【问题标题】:How to make text field non editable in Sencha Touch如何在 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 中使文本字段不可编辑的方法。

【问题讨论】:

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


    【解决方案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 的控件,瞧,您的项目又可以编辑了。

      【讨论】:

        猜你喜欢
        • 2019-06-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-08
        • 2016-01-03
        • 1970-01-01
        • 2021-10-10
        相关资源
        最近更新 更多