上下文菜单仅在使用ctrl + v后才起作用。否则,它只是返回空剪贴板,这使我认为需要一些初始化或只是在textarea上进行焦点/选择。我错过了什么吗?谢谢。Handsontable上下文菜单粘贴不能第一次工作
编辑
从Excel文件并粘贴到Handsontable电网复制。如果我用ctrl + V粘贴,一切都可以。之后,粘贴快捷方式并通过上下文菜单按预期工作。但如果初始化后我会尝试使用我的菜单粘贴它将不会粘贴任何东西。直到我通过快捷方式粘贴。
EDIT 2 http://jsfiddle.net/sauliuslx/ygfnR/341/ 如果您从Excel中复制水木清华这样的
并粘贴使用Ctrl + V,那么你就可以用粘贴上下文菜单handsontable了。在控制台中,您会看到
不过,如果你重新启动,并尝试与上下文菜单将不信邪,在控制台上粘贴贴,你会看到
即一个元件而不是四个,粘贴的价值是“”。所以区别在于你没有使用快捷方式。所以这些准备好了吗?
attached(element) {
this._grid = this.initializeGrid($(element).find(".inputGrid")[0], this.options);
}
private initializeGrid(element, options) {
var config: any = {
data: options.data(),
colHeaders: options.columns.map(c => c['title'] || c.data),
columns: options.columns,
contextMenu: {
items: { "copy": { name: "copy Ctrl+C" }, "paste": { name: "paste Ctrl+V" }, "hsep1": "---------", "row_above": {}, "row_below": {}, "remove_row": {} }
},
contextMenuCopyPaste: true,
minSpareRows: 1,
rowHeaders: true,
allowInsertColumn: false,
allowInvalid: false,
allowRemoveColumn: false,
manualRowMove: true,
autoWrapRow: true,
fillHandle: false,
stretchH: 'all',
height: '100%'
};
var grid = new Handsontable(element, config);
var subscrRefresh = options.data.subscribe(() => {
grid.updateSettings({});
grid.render();
});
能告诉你我们有些代码?从哪里复制什么? – ZekeDroid
@ZekeDroid我添加了初始化代码。谢谢。 – Saulius
我似乎无法重新创建它。你能发布一个错误发生的jsfiddle吗?你有没有机会使用IE浏览器? – ZekeDroid