Ext JS - 我可以在一个字段上“链接”方法吗?

时间:2010-03-15 17:12:49

标签: extjs

HI, 我只是想设置一个字段值并同时禁用它。 这可以在ext js中完成吗?文档在这个问题上非常薄弱。

这样的事情会产生错误:

myForm.getForm().findField('start_date').setValue('').setDisabled(true);

我已经习惯了JQuery,它可以很好地完成这类工作,但是没有好运。

感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

实际上,Field.setValue确实会返回对字段(docs)的引用,因此您应该可以调用setDisabled(继承自Component)。你必须要处理其他一些问题。也许findField('start_date')返回null。您必须确保所有返回值都符合您的预期。使用Firebug来找出错误,或者拆分语句并查看哪个调用实际上失败了。

只要返回值是对象本身(通常在文档中表示为this),任何东西都是“可链接的”。在jQuery中,一切都在DOM元素上运行,因此它是一致的。在Ext中,您有许多具有各种行为的组件。有时链接是有意义的,有时它不会 - 只是确保你在不确定时检查文档。

答案 1 :(得分:0)

这是因为setValue()方法不返回字段对象。你不能以这种方式使用setDisabled()。

编辑:(对于那些投票不足的白痴)

来自ExtJS文档:

method: setValue(value)

Parameters:
value : Mixed
The value to set

Returns:
void

答案 2 :(得分:0)

我同意bmoeskau它应该有效,如果该字段在那里并由表单找到。我会建议你这样做以防止错误:

var field = myForm.getForm().findField('xyz');
if(field !== undefined)
{
    field.setValue('');
    field.setDisabled(true);
}
else
{
    // Error Handling
}