从 ext 组件获取引用

Get reference from ext component

我在通过 Extjs6 的引用检索我的输入值时遇到困难。似乎没有明确的答案,google 被许多不同的 Extjs 版本似乎截然不同的答案所污染。

我有一个 window,其中包含一个文本字段和一个保存按钮,我需要从文本字段中检索用户的输入并将其传递给我的 ajax 调用。

我的代码:

window.updatePassword = function(button) {
   var win = new Ext.Window({
       referenceHolder: true,
       items: [{
            xtype: 'form',
            items: [{
                xtype: 'textfield',
                fieldLabel: "newPassword",
                reference: 'newPassword',
                inputType: 'password'
            }],
        }],
        buttons: [{
            text: 'save',
            handler: function (btn) {
                Ext.Ajax.request({
                    url: '../../Password_updatePassword.action',
                    params : {
                        newPassword: win.newPassword
                    },
                    scope: this,
                    disableCaching: true
                });
             },
             scope: this
        }]
   });
   win.show(this);
};

到目前为止我尝试过的事情:

this.lookupReference('newPassword')
win.values
win.getValues()
win.newPassword
Ext.getCmp('newPassword')

如有任何建议,我们将不胜感激。

  • this.lookupReference('newPassword') - 这是指当前对象 和处理程序没有任何要查找的组件。
  • win.values - 没有任何意义,除非你已经创建了一个配置 在赢。
  • win.getValues() - 再次没有任何意义,除非你在 win 中创建了一个方法。
  • win.newPassword - 还是一样。
  • Ext.getCmp('newPassword') - getCmp 使用 id,而不是参考。

要获取密码字段的引用,您可以在 win 对象上查找,

win.lookupReference('newPassword');

要获取您必须使用 getValue() 方法的值。

win.lookupReference('newPassword').getValue();