【问题标题】:Placing a filename in a filefield in extjs在 extjs 的文件字段中放置文件名
【发布时间】:2016-01-08 17:46:13
【问题描述】:

在我的商店中,我有一个名为 CreditName 的字段。在我看来,我正在尝试检查CreditName 是否不为空,以及是否未将其输入到我的文件字段中。我在我的文件字段中添加了一个侦听器,它将在文件字段中输入文本。我遇到的麻烦是将CreditName 放入文件字段。我知道它正在从我的商店读取,因为其他字段显示正确。

这是我的文件字段代码

 xtype: 'filefield',
        buttonText: 'Select A File',
        fieldLabel: 'File',
        name: 'Credit',
        labelWidth: 50,
        msgTarget: 'under',
          return true;
        },
        listeners: {
          render: function (comp) {
            comp.setRawValue(CreditName);
          }
        }

这是商店代码

fields: [ {
    name: 'PartyId',
    type: 'string'
  }, {
    name: 'CreditName',
    type: 'string',
    critical: true
  }],
  proxy: {
    type: 'ajax',
    url: 'api/parties',
    reader: {
      type: 'json'
    }
  }

PartyId 显示正常,这是代码,它与文件字段在同一个视图中

     {
        xtype: 'displayfield',
        name: 'PartyId',
        fieldLabel: ' Party ID'
      },

【问题讨论】:

标签: extjs filefield


【解决方案1】:

在“filefield”的配置中,您必须使用与 store 中的“name”属性相同的名称。在你的情况下,它应该是name: 'CreditName',而不是'Credit'

--编辑--

您可以像这样在“渲染”侦听器中获取模型值:

render: function (comp) {
    var model = comp.getModelData(),
        value = model.get('CreditName');
    comp.setRawValue(value);
}

【讨论】:

  • 我刚才试过了,文件字段文本仍然是空白的。
  • 如果您的代码中仍有“渲染”侦听器来设置值,请将其删除。
  • 我想我误解了你想要做什么。如果你想有初始值,你需要在'render'监听器中使用setRawValue。
  • 您只想在“渲染”侦听器中获取“CreaditName”的值并更新文件字段,对吧?
  • 是的,完全正确。这就是我无法弄清楚的原因
猜你喜欢
  • 2012-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多