【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;
  • 效果图:
相关推荐
蓝婷儿1 小时前
前端面试每日三题 - Day 34
前端·面试·职场和发展
CopyLower1 小时前
苹果计划将AI搜索集成至Safari:谷歌搜索下降引发的市场变革
前端·人工智能·safari
郝开2 小时前
扩展:React 项目执行 yarn eject 后的 package.json 变化详解及参数解析
react.js·前端框架·react
我是Superman丶3 小时前
【技巧】前端VUE用中文方法名调用没效果的问题
前端·javascript·vue.js
斯~内克3 小时前
Vue 3 中 watch 的使用与深入理解
前端·javascript·vue.js
蜡笔小柯南4 小时前
解决:npm install报错,reason: certificate has expired
前端·npm·node.js
lqj_本人5 小时前
鸿蒙OS&UniApp制作多选框与单选框组件#三方框架 #Uniapp
前端·javascript·uni-app
@PHARAOH6 小时前
WHAT - 前端开发流程 SOP(标准操作流程)参考
前端·领导力
松树戈7 小时前
plus-ui&RuoYi-Vue-Plus 基于pgSql本地运行实践
前端·vue.js·spring boot·ui
new6669997 小时前
css画图形
前端·css