Javascript 通过API调用在React FullCalendar中传递数据
我通过API调用得到一些数据,数据如下所示Javascript 通过API调用在React FullCalendar中传递数据,javascript,reactjs,fullcalendar,fullcalendar-4,Javascript,Reactjs,Fullcalendar,Fullcalendar 4,我通过API调用得到一些数据,数据如下所示 { "events": [ { "id": 7, "comments": "", "origin": "Terrassa, Spain", "destination": "Delft, Netherlands", "total_trucks": 0, "material_type"
{
"events": [
{
"id": 7,
"comments": "",
"origin": "Terrassa, Spain",
"destination": "Delft, Netherlands",
"total_trucks": 0,
"material_type": "0",
"scheduled_date": "2019-09-29T01:01:00",
"offered_price": 0,
"weight": 7979879,
"status": "Assigned",
"posted_on": "2019-09-23T15:24:39.946644",
"All_India": true,
"Andhra_Pradesh": false,
"Assam": false,
"Bihar": false,
...
"West_Bengal": false,
"owner": 1,
"truck_type": 2,
"truck_name": 139
}
{
"id": 9,
"comments": "",
"origin": "Teyty, Spain",
"destination": "Derry, Netherlands",
"total_trucks": 0,
"material_type": "0",
"scheduled_date": "2019-09-29T01:01:00",
"offered_price": 0,
"weight": 7979879,
"status": "Assigned",
"posted_on": "2019-09-23T15:24:39.946644",
"All_India": true,
"Andhra_Pradesh": false,
"Assam": false,
"Bihar": false,
...
"West_Bengal": false,
"owner": 1,
"truck_type": 2,
"truck_name": 139
}
]
}
根据这些数据,我希望在我的ReactFullCalendar事件的“date”字段中显示schedule_date,并在这些事件的标题中显示total_weight和total_trucks。
到目前为止,我尝试的是在日历屏幕上的事件中以对象对象的形式输出。
我的代码是:
<FullCalendar defaultView="dayGridMonth" plugins={[ dayGridPlugin ]}
events={[{ title: this.state.calendarEvents, date: '2019-09-22'] />
我的州是这样的:
const calendarEvent = await getEventsData();
this.setState({calendarEvents:calendarEvent});
console.log(calendarEvent,
"calendarEvents");
this.state = {
calendarEvents:[
{totalTrucks:''},
{totalWeight:''}]};}
我只想让API调用calendarEvent获取数据,我想在FullCalendar中的事件中提供数据
setStateAsync(state) {
return new Promise((resolve) => {
this.setState(state, resolve)
});
从数据中获取状态后,异步设置状态
您只想在日历?中显示日期?。这是一个对象数组吗?我想显示日程安排日期、总重量和总卡车,这是我上面显示的数据。不用说,如果我可以访问任何一个字段,那么我也可以显示它的其余部分。是的,它是一个对象数组。作为``事件[{“材料类型”:“0”,“计划日期”:“2019-09-29T01:01:00”,“报价”:0,“重量”:7979879,“状态”:“分配”,“发布日期”:“2019-09-23T15:24:39.946644”,“全印度”:真,“安得拉邦”:假,“阿萨姆”:假,}]}在事件中,您正在传递从api获得的calendarEvents,但您是否自定义了事件文件以迭代对象数组?它是同一个文件。我从API中获取数据,因此我必须获取这些数据并将其传递到fullCalendar的事件中。我对此很陌生,所以任何类型的帮助都会对此有所帮助。使用该模式从API检索数据,然后在将其发送到fullCalendar之前对其进行转换。这比提供静态列表要好,原因有很多(主要是因为它是动态的,因此每当用户更改日历中的日期时,它都会从API服务器请求更多事件,而且您不必太担心日历定义中的语法)我无法使用此示例,因为它在API调用中发送单个文本,而我正在传递一个对象数组。@这不是避免此示例的有效原因。您输入状态的数据可以是任何内容—数组、对象、单个值,以及您喜欢的任何内容。本例的重点是异步设计模式,而不是数据的内容。话虽如此,目前还不清楚这个答案究竟解决了你的具体问题。关于这一点的讨论,请参见我在主线程上的评论。我认为这里可以做的是将单独的道具从父组件传递到FullCalendar组件。e、 g.date作为一个单独的prop,event参数作为另一个prop,我们可以在其中传递totalTrucks和totalWeights。我通过像events={[{title:this.state.calendarEvent.events[0].weight.toString(),date:this.state.calendarEvent.events[0].scheduled_date.slice(0,10)}那样传递它得到了答案
但问题仍然存在,因为我必须循环此项以获取所有数据或超过条目数的地图数据