天天看點

自定義元件怎麼接受傳回參數_antd的DatePicker元件怎麼自定義頁腳

做項目的時候有一個自定義頁腳的需求,年初、年末是我自定義的;樣式如下圖

自定義元件怎麼接受傳回參數_antd的DatePicker元件怎麼自定義頁腳
思路整理:自己寫input--自己定義圖示—隐藏預設顯示出來的datepicker元件--通過點選圖示的時候手動控制datepicker元件顯示出來—選中日期或者自定義頁腳的時候指派給要傳給背景的變量

代碼解讀:

在解讀代碼前需要了解antd官網定義的幾個方法

1.renderExtraFooter//antd官網提供的加入額外頁腳的方法 2.open//antd官網提供的控制彈層是否展開的方法 true是打開,false是關閉 3.onOpenChange //antd官網提供的彈出月曆和關閉月曆的回調,裡面有一個内置參數status,我在外層定義了一個參數Pickerstatus和狀态同步 4.getCalendarContainer //antd官網提供的定義浮層的容器的方法,因為是自定義的是以浮窗的位置可能不滿意,我們可以定義一下他的父元素,然後在進行具體的調節位置

render中的input是自己定義的,其中裡面定義了一個icon月曆圖示,當點選的時候,觸發datepicker元件的彈出。其中元件的彈出和關閉時手動設定的變量 Pickerstatus預設是false, 點選的時候使Pickerstatus變為true

render中的datepicker元件預設是顯示的狀态,是以,我在裡面設定了一個樣式display:none;不讓他顯示,

通過open方法根據參數的true/false來手動控制什麼時候顯示和隐藏,

通過renderExtraFooter自定義頁腳(我是放在了renderyear方法中定義了兩個tag标簽年初年末),點選年初年末的時候利用事件對象e.target.value擷取點選的value值然後指派給顯示在input中的value值this.label,同時點選完之後讓datepicker彈窗關閉

代碼如下

state