Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

431
Vistas
Aplicar estilo de elemento dinámico para reaccionar FullCalender

Tengo un React "FullCalendar" que representa muchas fechas. Pero quiero personalizar cada entidad de fecha con un color personalizado obtenido del servidor.

Soy consciente de pasar una 'clase' a las entradas de fecha "FullCalendar", pero dado que el color proviene del servidor y puede ser dinámico, es posible que deba usar algún tipo de estilo en línea.

También leí sobre la implementación de vistas personalizadas y estoy interesado en ello. Pero no pude implementarlo. También me preocupa el rendimiento, ya que tengo más de 100 fechas cargadas desde el servidor en un instante cuando utilizo una vista personalizada compleja para mi caso.

Este es mi código:

 import React, { useEffect, useState } from 'react' import FullCalendar from '@fullcalendar/react' import dayGridPlugin from '@fullcalendar/daygrid' export const Calender = ({ dates }) => { //State const [upcomingDates, setUpcomingDates] = useState([]) //Init function const init = () => { let dts = []; for (let i = 0; i < dates.length; i++) { dts.push( { title: dates[i].EventText, date: dates[i].Event, className: 'bg-dark calender-item', customColor: dates[i].CustomHexColor } ); } setUpcomingDates(dts); } //UseEffect useEffect(() => { init(); }, [dates]); //Custom content function renderEventContent(eventInfo) { return ( <div style={{ backgroundColor: eventInfo.event.customColor}}> <b>{eventInfo.timeText}</b> <i> {eventInfo.event.title}</i> </div> ) } return ( <div className="card card-calendar"> <div className="card-body p-3"> <FullCalendar headerToolbar={{ left: 'prev,next today', center: 'title' }} eventContent={renderEventContent} allDayClassNames="calendar" plugins={[dayGridPlugin]} initialView="dayGridMonth" weekends={true} events={upcomingDates} /> </div> </div> ); }

ingrese la descripción de la imagen aquí

Según la respuesta del servidor, puedo ver 3 valores de color HEX distintos en respuesta para el EVENTO A, B y C.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Un objeto de evento fullCalendar tiene una propiedad de color directamente, por lo que simplemente puede especificar eso en los datos que pasa del servidor a fullCalendar. No está obligado a usar clases, si eso es demasiado restrictivo.

p.ej

 { "title": "Some event", "start": "2021-10-20", "color": "#B92808" }

Puede utilizar cualquier formato para especificar el color que reconoce CSS.

También hay otras propiedades de color que puede usar si necesita más flexibilidad sobre la apariencia; consulte https://fullcalendar.io/docs/event-parsing para obtener más detalles.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda