パンとズーム
React Flowのデフォルトのパンとズームの動作は、スリッピーマップにインスパイアされています。ドラッグでパンし、スクロールでズームします。この動作は、提供されているpropsで簡単にカスタマイズできます。
panOnDrag: デフォルト:trueselectionOnDrag: デフォルト:false(11.4.0から利用可能)panOnScroll: デフォルト:false(zoomOnScrollを上書きします)panOnScrollSpeed: デフォルト:0.5panOnScrollMode: デフォルト:'free'。'free'(全方向)、'vertical'(垂直のみ)、または'horizontal'(水平のみ)zoomOnScroll: デフォルト:truezoomOnPinch: デフォルト:truezoomOnDoubleClick: デフォルト:truepreventScrolling: デフォルト:true(ブラウザのスクロール動作を防止します)zoomActivationKeyCode: デフォルト'Meta'panActivationKeyCode: デフォルト'Space'(11.4.0から利用可能)
デフォルトのビューポートコントロール
上記のように、デフォルトのコントロールは次のとおりです。
- パン:マウスをドラッグ
- ズーム:スクロール
- 選択範囲の作成:Shift + ドラッグ
Figma風のビューポートコントロール
Figma/Sketch/デザインツールのようなコントロールがお好みの場合は、panOnScroll={true} と selectionOnDrag={true} を設定できます。
- パン:Space + マウスのドラッグ、スクロール、中マウスまたは右マウス
- ズーム:ピンチまたはcmd + スクロール
- 選択範囲の作成:マウスをドラッグ
この例では、部分的にしか選択されていないノードを選択範囲に追加できるように、selectionMode={SelectionMode.Partial}も設定しています。