动态 qml 对象的 Mimedata 始终为空

Mimedata of dynamic qml object is always empty

我有一个树视图,我通过动态创建可拖动项目将项目拖到放置区域。一切正常,除了我无法传递 mimedata

function createItem(parentItem)
{
    if (itemComponent.status === Component.Ready && draggedItem == null)
    {
        draggedItem = itemComponent.createObject(
            parentItem,
            {
                "x": positionInParent.x,
                "y": positionInParent.y,
                "baseColor":Qt.lighter("red", 1.5),
                "copyable":false,
                visible: true
            }
        );

        draggedItem.Drag.mimeData = { "text/plain": "Hello!" };
        draggedItem.Drag.supportedActions = Qt.CopyAction;
        draggedItem.Drag.dragType = Drag.Automatic;
        draggedItem.Drag.start();
    }
    else if (itemComponent.status === Component.Error) {
        draggedItem = null;
        console.log("error creating component");
        console.log(itemComponent.errorString());
    }
}

当我尝试从拖放事件(drop.text 字段)获取 MIME 数据时,它是空的。

DropArea
{
    height:parent.height
    width:parent.width
    onDropped: {
        drop.acceptProposedAction()
        var txt = drop.text; // Empty!!!
        console.log("dropped into dest")
    }
    onEntered: {
        console.log("entered dest")
    }
}

自己解决了!只是添加

draggedItem.Drag.active = true;