|  |  | 
 |  |  | import React from 'react'; | 
 |  |  | import { Input, Button, Space, Select } from 'antd'; | 
 |  |  | import { Input, Button, Space, Select, DatePicker } from 'antd'; | 
 |  |  | import moment from 'moment'; | 
 |  |  |  | 
 |  |  | const NONE_OPTION = -9999; | 
 |  |  |  | 
 |  |  | 
 |  |  |     ); | 
 |  |  | } | 
 |  |  |  | 
 |  |  | export { TextFilter, SelectFilter }; | 
 |  |  | const DatetimeRangeFilter = (props) => { | 
 |  |  |     const [startDate, setStartDate] = React.useState(null); | 
 |  |  |     const [endDate, setEndDate] = React.useState(null); | 
 |  |  |  | 
 |  |  |     return ( | 
 |  |  |         <div style={{ padding: 8 }}> | 
 |  |  |             <div> | 
 |  |  |                 <Space direction="vertical" size={12}> | 
 |  |  |                     <DatePicker.RangePicker | 
 |  |  |                         showTime | 
 |  |  |                         onChange={dates => { | 
 |  |  |                             setStartDate(dates[0]?.toISOString()); | 
 |  |  |                             setEndDate(dates[1]?.toISOString()); | 
 |  |  |                         }} | 
 |  |  |                     /> | 
 |  |  |                     <Space> | 
 |  |  |                         <Button | 
 |  |  |                             type="primary" | 
 |  |  |                             onClick={() => { | 
 |  |  |                                 console.log(startDate, endDate); | 
 |  |  |                                 props.confirm(); | 
 |  |  |                                 props.setSearchParam(prevState => ({ | 
 |  |  |                                     ...prevState, | 
 |  |  |                                     [props.name]: [startDate, endDate] | 
 |  |  |                                 })); | 
 |  |  |                                 props.actionRef.current?.reload(); | 
 |  |  |                             }} | 
 |  |  |                             size="small" | 
 |  |  |                         > | 
 |  |  |                             确定 | 
 |  |  |                         </Button> | 
 |  |  |                         <Button | 
 |  |  |                             onClick={() => { | 
 |  |  |                                 setStartDate(null); | 
 |  |  |                                 setEndDate(null); | 
 |  |  |                                 props.setSelectedKeys([]); | 
 |  |  |                                 props.setSearchParam(prevState => { | 
 |  |  |                                     const nextState = { ...prevState }; | 
 |  |  |                                     delete nextState[props.name]; | 
 |  |  |                                     return nextState; | 
 |  |  |                                 }); | 
 |  |  |                                 props.clearFilters(); | 
 |  |  |                             }} | 
 |  |  |                             size="small" | 
 |  |  |                         > | 
 |  |  |                             重置 | 
 |  |  |                         </Button> | 
 |  |  |                     </Space> | 
 |  |  |                 </Space> | 
 |  |  |             </div> | 
 |  |  |         </div> | 
 |  |  |     ); | 
 |  |  | } | 
 |  |  |  | 
 |  |  |  | 
 |  |  | export { TextFilter, SelectFilter, DatetimeRangeFilter }; |