我正在使用标记字段作为小部件列。我正在从下拉列表中选择一些值,然后保存它。同样,当我打开时,我希望我选择的值应该出现在tagfield中。它只有在标记场变得集中之后才出现。

我在这里尝试的是我的代码:

 var SValue = XML.getAttribute('value');

if(filterType.xtype == "tagfield"){
        filterType.setValue(SValue); // This is not working
        filterField.inputEl.set({'placeholder':SValue}); // This is working but not correct way to do.
    }

我用占位符显示了一些值,但这与我想要的不正确。谁能建议我在这里可以做什么。如果它会自动聚焦,那么也有机会工作。

注意:换句话说,它类似于如何通过从XML读取特定属性来将值加载或设置为tagfield的方法。

最佳答案

有两种可能的方案:

  • 如果tagfield的queryMode等于“local”,则tagfield.setValue({valueField})应该起作用。如果它不起作用,则可能是因为您没有使用正确的valueField。因此,如果设置valueField: 'id',则应采用这种方式设置标记字段tagfield.setValue(record.data.id)的值
  • 如果您对tagfield的queryMode等于“remote”,那么您首先必须将记录添加到tagfields存储中,然后将值设置为在tagfield上设置的valueField。
  • let newRec = {value: 'lorem', id: '1'};
    tagfield.getStore().add(newRec);
    //suppose our valueField for the tagfield is 'id'
    tagfield.setValue(newRec.id);
    

    您还可以使用必要的数据加载标签场的商店,然后设置该值,这也应该起作用。

    Store documentation
    Tagfield documentation

    09-30 00:26