React-dnd: Destinos de colocación anidados y canDrop

Creado en 29 may. 2018  ·  3Comentarios  ·  Fuente: react-dnd/react-dnd

Tengo 2 DropTargets anidados.
Quiero evitar que se coloque en el objetivo de colocación secundario si el destino de colocación principal está deshabilitado.
¿Cómo puede el método canDrop() del hijo depender del método canDrop() del padre?
No encontré una manera de hacerlo estrictamente con la API actual, tuve que confiar en los componentes.

¿Alguien ha tenido problemas con esto?

¡Gracias!

wontfix

Comentario más útil

@danielrob , ¿cómo resolvió su problema con {shallow: true} ? Estoy tratando de usar eso en canDrop y parece que no tiene ningún efecto. Idealmente, me gustaría que los niños tuvieran prioridad al dejarlos, y luego los padres.

Todos 3 comentarios

Vine aquí inicialmente porque tenía el problema opuesto... que resolví con monitor.isOver({ shallow: true }) en el método canDrop de padre e hijo. Quería que solo el niño respondiera, pero descubrí que el padre que devolvía falso impidió que el niño respondiera verdadero.

Por lo tanto, creo que el comportamiento que está describiendo debería ser el comportamiento predeterminado. Supongo que ambos aceptan los mismos tipos de caída, y que sus elementos dom reales no tienen ningún problema de apilamiento extraño, y que su canDrop no se interpone en el camino.

De todos modos, no soy un colaborador / colaborador, y encontré su problema por casualidad. Es posible que desee publicar una caja de arena de su problema, ya que esto siempre ayuda a los mantenedores de la biblioteca a comprender exactamente su problema.

Este problema se ha marcado automáticamente como obsoleto porque no ha tenido actividad reciente. Se cerrará si no se produce más actividad. Gracias por sus aportaciones.

@danielrob , ¿cómo resolvió su problema con {shallow: true} ? Estoy tratando de usar eso en canDrop y parece que no tiene ningún efecto. Idealmente, me gustaría que los niños tuvieran prioridad al dejarlos, y luego los padres.

¿Fue útil esta página
0 / 5 - 0 calificaciones