将ComboBox与InlineEditBox一起使用

时间:2014-06-12 14:32:02

标签: javascript dojo edit-in-place

我正在尝试将InlineEditBox与以下dijit/form/ComboBox一起使用:

  var items = [
    {name: 'new'},
    {name: 'processed'},
    {name: 'approved'},
    {name: 'running'},
    {name: 'archived'}
  ]
  new ComboBox({
    store: new Memory({data: items}),
    searchAttr: 'name',
    style: 'width: 200px;'
  }, 'status').startup()

我的第一个'天真'方法是:

new InlineEditBox({
  store: new Memory({data: items}),
  searchAttr: 'value',
  style: 'width: 200px;',
  editor: ComboBox
}, 'status').startup()  

作为效果,显示了可以单击的内联框,但显示空的ComboBox。我尝试过Nabble's forum的方法:

new InlineEditBox({
  editor: new ComboBox({
  store: new Memory({data: items}),
  searchAttr: 'value',
  style: 'width: 200px;',
})}, 'status').startup()

然而,它也不起作用。

我的问题:除了简单的文本编辑器之外,还有一种方法可以将dijit/InlineEditBox与dijit控件一起使用,只是编写该组件只与少数支持的控件配合使用?

1 个答案:

答案 0 :(得分:1)

我找到了答案:您需要使用editorParams。此参数是具有为编辑器提供的属性的对象。它没有直接记录在Dojo文档中,但它在示例中使用。

使用InlineTextEdit工作的ComboBox:

  new InlineEditBox({
    editor: ComboBox,
    editorParams: {
      store: new Memory({data: items}),
      searchAttr: 'name'
    }
  }, 'type').startup()