gpt4 book ai didi

extjs - 如何覆盖 Ext.form.Action.Submit 上的默认配置选项?

转载 作者:行者123 更新时间:2023-12-04 06:27:11 26 4
gpt4 key购买 nike

有没有办法配置 ExtJS(通过 Ext.override?),以便为 Ext.form.Action.Submit 设置 submitEmptyText 配置选项默认情况下是假而不是真?

我知道可以覆盖类上的方法,但我不知道默认配置属性,有人可能会认为,由于配置选项主要是控制台日志记录 Ext.form.Action.Submit.submitEmptyText 会输出 false 但未定义的公共(public)属性.

我成功的一种方法是为 run 方法创建一个拦截器,但这基本上使 submitEmptyText 配置选项无用,因为它不能再通过传递给构造函数的配置对象进行设置。

Ext.form.Action.Submit.prototype.run = Ext.form.Action.Submit.prototype.run.createInterceptor(function() {
this.options.submitEmptyText = false;
});

最佳答案

[编辑了几次,但这对我有用]

submitEmptyText 实际上不是 Ext.form.Action.Submit 原型(prototype)的属性——它只是在 run 函数中作为“this.options”对象的属性进行检查——它本身是在父类(super class) Ext.form 上定义的。行动

如果您希望它默认为全局 false,则只需在构造后将其设置在 Ext.form.Action 的 options 属性上

Ext.form.Action.prototype.constructor = Ext.form.Action.prototype.constructor.createSequence(function() {
Ext.applyIf(this.options, {
submitEmptyText:false
});
});

这很棘手,因为 Ext.form.Action 在其构造函数中将 this.options 设置为一个空对象,因此您必须在构造函数执行后访问该选项属性,这就是 createSequence 在这种情况下起作用的原因。

关于extjs - 如何覆盖 Ext.form.Action.Submit 上的默认配置选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5014227/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com