上下文菜單僅在使用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