2

我有以下代码,我直接从 ExtJs 的教程中获得:

updateUser: function (button) {
var win = button.up('window'),
form = win.down('form'),
record = form.getRecord(),
values = form.getValues();

record.set(values);
win.close();

现在,我正在做一些修改以满足我的需要,以下 3 行究竟返回了什么:

form = win.down('form'),
record = form.getRecord(),
values = form.getValues();

根据文档,down()上面的方法返回一个Ext.Container.AbstractContainer根据文档甚至不应该使用的方法。此外,它没有 agetRecord()getValues()方法。谁能解释这里发生了什么以及这两个调用返回什么样的对象?

4

1 回答 1

3

当您调用up它时,它会查找传递的选择器的祖先。当您调用down它时,它会返回传递的选择器的后代。form.getRecord()返回表单的模型实例。并form.getValues()返回表单中输入的实际值。

例如:模型有 3 个字段id, name, email和一些配置,当您调用form.getRecord()它时,它会返回模型实例,基本上是骨架。

asform.getValues()返回输入的值。 例如:如果在调用时
在表单中输入以下值,则返回一个对象id=1, name=xxxxx, email=aaaaa@test.comform.getValues()

{
  id:1,
  name:'xxxxx',
  email:'aaaaa@test.com'
}

我希望这能回答你的问题

于 2012-11-02T19:01:36.013 回答