react-beautiful-dnd を使用して、垂直にネストされたドラッグアンドドロップを作成しています。私はいくつか言及しました githubの回答
私はサンドボックスから分岐し、垂直にネストされたドラッグアンドドロップ用に新しいものを作成しました。 DNDの内側を変更すると、DNDの外側でDNDの内側ではなく値が変更されます。
[〜#〜]コード[〜#〜]
onDragEnd(result) {
// dropped outside the list
console.log("innner drag");
if (!result.destination) {
return;
}
const items = reorder(
this.state.items,
result.source.index,
result.destination.index
);
this.setState({
items
});
}
[〜#〜] demo [〜#〜]コード: https://codesandbox.io/s/ozq53zmj6
react-beautiful-dnd
は現在、ネストされたドラッグドロップをサポートしておらず、ロードマップによると優先度の低いアイテムです。外側のすべてを処理する必要があります<DragDropContext onDragEnd={this.handleDragEnd}>
。デフォルトではresult
オブジェクトの親情報は提供されないため、その情報を子Droppable
コンポーネントに保持しています。これで問題が解決する場合は、以下のデモを参照してください。
コード: https://codesandbox.io/s/jp4ow4r45v
編集:ネストされたドラッグドロップを親コンテナーに適用できる、より一般的なコードスニペットについては、以下のサンドボックスを参照してください。