0

我需要具有可调整大小并允许用户选择单元格值的 Ext.panel.Grids (v6.2.0)。

我有一堆网格,我设置为可调整大小:

resizable: {
    pinned: true,
    handles: 's'
}

现在的问题,即使在表格视图上覆盖......

Ext.override(Ext.view.Table, {
    enableTextSelection: true
})

...我无法再选择网格内的文本。如果我删除调整网格的大小,我可以选择稍后复制和粘贴的记录值。

我也尝试过覆盖该列的 enableTextSelection,但这仍然不起作用。

4

1 回答 1

0

这似乎起作用的唯一方法是覆盖 Ext.resizer.Resizer 的“构造函数”。我试图只包含需要更改的部分,但我最终在我的覆盖中使用了整个构造函数( https://docs.sencha.com/extjs/6.2.0/classic/src/Resizer.js.html )并在最后添加以下内容:

me.el.removeCls(unselectableCls)

并更改以下内容以确保安全:

handleEl = me[pos] = me.el.createChild({
    id: me.el.id + '-' + pos + '-handle',
    cls: Ext.String.format(handleCls, pos), //removed the unselectable class
    unselectable: 'off', //changed from 'on' to 'off'
    role: 'presentation'
});

这里的某些东西强制网格的父 div 上的不可选择类并使整个 div 的内容不可选择。我尝试覆盖它的 CSS,并覆盖 Ext.column.Column 和 Ext.table.View,但这些都不起作用。

于 2022-02-24T14:48:33.773 回答