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

426
Views
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 answers
Answer question

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 Report
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!