【Antd】给 DatePicker 设置快捷时间选项

文章目录

  • antd 版本:
shell 复制代码
"antd": "^4.0.0",
  • api可以看出,他只提供了showToday的快捷选项,那我们如果要设置其他快捷选项该怎么办呢?
  • 这使用就要用到他的renderExtraFooter属性,给自定义快捷项一个放置的位置
  • 由于他没有属性可以像showToday直接设置时间,所以需要手动给DatePicker组件赋值value
  • 有关moment是怎么设置相应时间,可以看官方文档:http://momentjs.cn/
ts 复制代码
import { DatePicker, Space } from 'antd';
import React from 'react';

const { RangePicker } = DatePicker;

const App: React.FC = () => {
	const [value, setValue]= useState<any>(null)
	// 获取对应天数后的时间。
	const getDate = (val)=>{
		switch(val){
			case '七天':
				// startOf表示从今天开始,add表示往后加7天,format表示最后输出的格式2024-03-12
				return moment().startOf('day').add(7, 'days').format('YYYY-MM-DD');
			case '一个月':
				return moment().startOf('day').add(1, 'months').format('YYYY-MM-DD');
			case '半年':
				return moment().startOf('day').add(6, 'months').format('YYYY-MM-DD');
			case '一年':
				return moment().startOf('day').add(1, 'year').format('YYYY-MM-DD');
			defalult: 
				return val;
		}
	}
    return <DatePicker 
    	// 关闭今天的快捷项,避免出现2个页脚
    	showToday={false}
    	// 动态控制value值
    	value={value} 
    	onChange={date => setValue(date)}
    	// 添加快捷选项页脚
    	renderExtraFooter: () => {
	    	return (
        		<Space>
            		<a onClick={() => setValue(getDate('七天'))}>七天</a>
                	<a onClick={() => setValue(getDate('一个月'))}>一个月</a>
                	<a onClick={() => setValue(getDate('半年'))}>半年</a>
                	<a onClick={() => setValue(getDate('一年'))}>一年</a>
            	</Space>
         )} 
     />
{;

export default App;
  • 效果图:
相关推荐
H@Z*rTE|i11 小时前
webpack 打包流程(极简记忆口诀)
前端·webpack·node.js
@菜菜_达12 小时前
前端 HTML 入门(标签)
前端·html
智航GIS12 小时前
7.1 自定义函数
前端·javascript·python
BlackWolfSky12 小时前
React中文网课程笔记1—快速入门
前端·笔记·react.js
A_one201012 小时前
利用npm内置命令构建脚本工具
前端·npm·node.js
哔哩哔哩技术12 小时前
2025年哔哩哔哩技术精选技术干货
前端·后端·架构
霍理迪12 小时前
CSS布局方式——定位
前端·css
星光不问赶路人12 小时前
TypeScript 架构实践:从后端接口到 UI 渲染数据流的完整方案
前端·vue.js·typescript
ttyyttemo12 小时前
Dagger技术的使用学习
前端
IT_陈寒12 小时前
Redis性能翻倍的5个关键策略:从慢查询到百万QPS的实战优化
前端·人工智能·后端