Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

174
Views
Reaccionar Arrastrar y soltar 2 campos con los mismos valores

Para contextualizar, tengo un viaje que tiene como atributos puntos de interés que se le asignan y están ordenados por un campo de rango que nos permite mostrarlos en el orden deseado.

Tengo un problema, configuré un sistema de arrastrar y soltar en mi tabla de puntos de interés, pero cuando muevo una celda, puede tener el mismo rango que la celda a la que se mueve. Esto no nos es posible, quisiera saber si hay alguna solución para que sea imposible que dos celdas tengan el mismo rango o que se actualicen 2 rangos con el mismo valor.

Ver la pantalla para la tabla:

mesa

Mi código para actualizar un rango:

 const { mutate: changeRank, isSuccess: changeRankSuccess } = useMutation( async ({ pointTrip, rank }) => { let url = `http://localhost:443/api/pointTrip/${pointTrip}`; await axios .put(url, { rank }) .then((res) => {}) .catch((err) => { console.log(err); }); }, { onSuccess: () => { queryClient.invalidateQueries(queryKey); }, }

Mi código para cambiar el rango en el extremo de arrastre:

 const handleDragEnd = (result) => { if(!result.destination) { return; } let tempPoi = [...trip.pointsOfInterest]; let [selectedRow] = tempPoi.splice(result.source.index, 1); changeRank({pointTrip: selectedRow.PointTrip.id, rank: result.destination.index + 1});

Me puedes ayudar ?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!