【问题标题】:Binding a property in extjs4在 extjs4 中绑定一个属性
【发布时间】:2012-11-03 13:30:15
【问题描述】:

我只是创建了我的组件,基于 'Ext.form.field.Trigger' 并使用此配置参数:

config: {
    selectedId: 0,
    selectedRecord: null,
    searchControl: '',
    displayField: '',
    autoSearch: true
},

如何绑定“selectedId”变量作为此类字段的值发送到服务器?

例如:

我的表中有一个字段:brand_id。

我的表单中有需要发送品牌记录 ID 的自定义控件(就像组合框一样)。此 id 在“selectedId”变量中。

【问题讨论】:

  • 你能说清楚你想做什么吗?您的意思是说,当您提交表单时,您想发送其他参数,例如 selectedID 等?
  • 嗨巴顿,我更新了我的问题。

标签: extjs extjs4


【解决方案1】:

您需要覆盖您构建的自定义triggerfield 组件的getValue() 方法。根据调用提交方法的方式,form 上的预定义方法在提交期间使用getValue() orgetRawValue()` 方法。

如果您阅读了触发字段的getValue()doc,您将看到以下文档:

返回字段的当前数据值。值的类型 返回特定于特定字段的类型(例如 Ext.form.field.Date 的日期对象),作为调用的结果 rawToValue 字段的已处理字符串值。返回原始 字符串值,见 getRawValue。

所以重写getValue() 方法并返回您想要发送到服务器的任何内容。默认情况下,getValue() 将返回底层 html input 字段的 value 属性。

【讨论】:

  • 那么,代表组件中文本的属性是什么?
  • 由于extjs最终会生成html,所以无论<input type="...">的value属性如何。
猜你喜欢
  • 2023-04-04
  • 1970-01-01
  • 2010-11-14
  • 2012-11-11
  • 1970-01-01
  • 2017-09-25
  • 1970-01-01
  • 2018-04-01
  • 1970-01-01
相关资源
最近更新 更多