react antd 日曆組件 動態顯示休息時間

260 阅读1分钟

1.首先引入atnd Calendar日曆組件

2.設計思路 通過時間選擇Select選擇多個時間段,獲取每一個的值之後,通過發送請求的方式把時間段傳到Calendar日曆組件,組件通過獲取的時間顯示狀態到頁面上去。

3.根據設想獲取多個select獲取的值

根據useState的設置承接select的值初始狀態爲一個對象,這樣每次生成的select的内容都是他自己onchange選擇的數據

onChange={(value,dateString)=>{selArrdate[indexdate].dates=dateString }} />

4.獲取之後通過數據邏輯判斷對數據進行重組創建一個對應請求的數據格式,個人公司需求不同我就不多説了

5.根據獲取到的時間段傳到日曆組件具現。

//上傳時閒到日曆上判斷每月選擇日期

const getListData = (value) => {

let listData;

if(moduleArr){

moduleArr.map((item,index)=>{
  let selectDate = item.select_date.slice(8,10)
  let contentStauts = item.working_content
   switch (value.date()) {

   case Number(selectDate):
  listData = [
    {
      type: stauts,
      content: contentStauts,
    }
  ];
  break;

    default:
  }
  return selectDate
}) }

//根據判斷每月選擇日期,進行渲染

const dateCellRender = (value) => {

let listss = []

if(moduleArr.length > 0) {

moduleArr.map((item)=>{
  
  if(item.select_date.slice(0,10) === value._d.toISOString().slice(0,10)){
  
    return listss = getListData(value);
  }else {
  
    return ""
  }
})

}

效果: 日期選擇中8.09 8.17
在圖上顯示

image.png