如何在 ext js 4 中在树节点旁边显示文本输入

发布于 2024-12-02 03:29:43 字数 169 浏览 0 评论 0原文

我能够创建一个树视图 [使用 EXTJS 4 ] 和上下文菜单 [选项有添加、编辑、删除],

因此,如果我右键单击任何树节点上下文菜单,将会出现,

如果我单击“编辑”,则会出现一个文本框应出现在选定的树节点处并能够对其进行重命名。

有什么想法吗?

谢谢, 斯里

I was able to create a tree view [using EXTJS 4 ] with context menu[options are add,edit,delete],

So if i right click on any of tree node context menu will appear,

If i click "Edit", a text box should appear at the selected tree node and able to rename it.

Any ideas ?

Thanks,
Sri

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

ˇ宁静的妩媚 2024-12-09 03:29:43

使用 Ext.Editor< /a> (查看此演示):

var editor = new Ext.Editor({
    field: {
        xtype: 'textfield'
    }
});
tree.menu = Ext.create('Ext.menu.Menu', {
  items: [
    // ...
    {text: 'Edit', action: 'edit'},
    // ...
  ]
});
tree.on('itemcontextmenu', function(view, record, HTMLTarget, i, e) {
  // Let's save record and HTMLTarget for further use
  tree.menu.record = record;
  tree.menu.HTMLTarget = HTMLTarget;

  tree.menu.showAt(e.getXY());
  e.preventDefault();
});
tree.menu.on('click', function(menu, item, e){
  if (!item) return;
  switch(item.action) {
    // ...
    case 'edit':
      editor.startEdit(Ext.get(menu.HTMLTarget), menu.record.get('text'));
      editor.on('complete', function(me, value) {
        this.record.set('text', value);
      }, menu, {single: true});
    break;
    // ...
  };
});

use Ext.Editor (check out this demo):

var editor = new Ext.Editor({
    field: {
        xtype: 'textfield'
    }
});
tree.menu = Ext.create('Ext.menu.Menu', {
  items: [
    // ...
    {text: 'Edit', action: 'edit'},
    // ...
  ]
});
tree.on('itemcontextmenu', function(view, record, HTMLTarget, i, e) {
  // Let's save record and HTMLTarget for further use
  tree.menu.record = record;
  tree.menu.HTMLTarget = HTMLTarget;

  tree.menu.showAt(e.getXY());
  e.preventDefault();
});
tree.menu.on('click', function(menu, item, e){
  if (!item) return;
  switch(item.action) {
    // ...
    case 'edit':
      editor.startEdit(Ext.get(menu.HTMLTarget), menu.record.get('text'));
      editor.on('complete', function(me, value) {
        this.record.set('text', value);
      }, menu, {single: true});
    break;
    // ...
  };
});
心病无药医 2024-12-09 03:29:43

检查这个 http://www.sencha.com/forum /showthread.php?2430-TreePanel-with-Context-Menu

function onItemClick(item){
        console.info('You clicked: '+ item.text);
    }   

...

var menuC = new Ext.menu.Menu({ id: 'mainContext', items: [
            { text: 'edit', handler: onItemClick } , { text: 'delete', handler: onItemClick }
            ]
});

用于为菜单项添加操作

check this http://www.sencha.com/forum/showthread.php?2430-TreePanel-with-Context-Menu

function onItemClick(item){
        console.info('You clicked: '+ item.text);
    }   

...

var menuC = new Ext.menu.Menu({ id: 'mainContext', items: [
            { text: 'edit', handler: onItemClick } , { text: 'delete', handler: onItemClick }
            ]
});

it's for adding actions for menu items

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文