antd RangePicker清空日期时报错

可能原因

  1. 清空操作没有按照 RangePicker 组件的要求来进行,比如直接设置了 valuenull[]

  2. 使用了 RangePickeronChange 事件处理函数不正确,没有正确更新组件的状态。

解决方法

  1. 确保使用 RangePicker 组件的 value 属性时,始终传递数组,即使要清空日期也要传递 [],而不是 null

  2. onChange 事件处理函数中,当用户清空日期时,更新 value[]

javascript 复制代码
import React, { useState } from 'react';
import { DatePicker } from 'antd';
 
const { RangePicker } = DatePicker;
 
const MyComponent = () => {
  const [dateRange, setDateRange] = useState([]); // 初始化为空数组
 
  const handleDateChange = (dates, dateStrings) => {
    // 当用户清空日期时,dates 和 dateStrings 都会是 undefined
    if (!dates) {
      setDateRange([]); // 清空日期
    } else {
      setDateRange(dates); // 更新日期范围
    }
  };
 
  return (
    <RangePicker value={dateRange} onChange={handleDateChange} />
  );
};
 
export default MyComponent;
复制代码
相关推荐
Aevget8 小时前
界面控件DevExpress JS & ASP.NET Core v25.1 - 全新的Stepper组件
javascript·asp.net·界面控件·devexpress·ui开发
WangHappy8 小时前
出海不愁!用Vue3 + Node.js + Stripe实现全球支付
前端·node.js
林希_Rachel_傻希希8 小时前
手写Promise最终版本
前端·javascript·面试
visnix8 小时前
AI大模型-LLM原理剖析到训练微调实战(第二部分:大模型核心原理与Transformer架构)
前端·llm
老妪力虽衰8 小时前
零基础的小白也能通过AI搭建自己的网页应用
前端
该用户已不存在8 小时前
Node.js后端开发必不可少的7个核心库
javascript·后端·node.js
褪色的笔记簿8 小时前
在 Vue 项目里管理弹窗组件:用 ref 还是用 props?
前端·vue.js
Danny_FD8 小时前
使用Taro实现微信小程序仪表盘:使用canvas实现仪表盘(有仪表盘背景,也可以用于Web等)
前端·taro·canvas
IMPYLH8 小时前
Lua 的 IO (输入/输出)模块
开发语言·笔记·后端·lua
普通网友8 小时前
Objective-C 类的方法重载与重写:区别与正确使用场景
开发语言·ios·objective-c