【问题标题】:Reorder Kendo grid row with angular 6用角度 6 重新排列剑道网格行
【发布时间】:2019-03-01 22:11:27
【问题描述】:

我使用了与在给定示例中实现行重新排序功能相同的代码 这里https://www.telerik.com/kendo-angular-ui/components/grid/how-to/row-reordering

private handleDragAndDrop(): Subscription {
const sub = new Subscription(() => { });
let draggedItemIndex;

const tableRows = Array.from(document.querySelectorAll('.k-grid-content       
tr'));
tableRows.forEach(item => {
this.renderer.setAttribute(item, 'draggable', 'true');
const dragStart = fromEvent(item, 'dragstart');
const dragOver = fromEvent(item, 'dragover');
const drop = fromEvent(item, 'drop');

sub.add(dragStart.pipe(
tap(({ dataTransfer }) => {
try {
// Firefox won't drag without setting data
dataTransfer.setData('application/json', {});
} catch (err) {
// IE doesn't support MIME types in setData
}
})
).subscribe(({ target }) => {
draggedItemIndex = target.rowIndex;
}));

sub.add(dragOver.subscribe((e: any) => e.preventDefault()));

sub.add(drop.subscribe((e: any) => {
e.preventDefault();
const dataItem = this.gridData.data.splice(draggedItemIndex, 1)[0];
const dropIndex = closest(e.target, tableRow).rowIndex;
this.zone.run(() =>
this.gridData.data.splice(dropIndex, 0, dataItem)
);
}));
});

`-------------- 我收到上述代码的以下错误

错误 TS2459:类型“事件”没有属性“数据传输”并且没有字符串索引签名。 错误 TS2339:“EventTarget”类型上不存在属性“rowIndex”。

【问题讨论】:

    标签: angular drag-and-drop kendo-grid


    【解决方案1】:

    只需更改以下行 -

    // Firefox won't drag without setting data
    dataTransfer.setData('application/json', '');
    

    【讨论】:

    • 您能否添加更多详细信息说明为什么这会解决问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多