You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义MobileDatePicker日期按钮后onAccept回调未触发求助

解决MUI MobileDatePicker自定义按钮后onAccept不触发的问题

当你通过slots自定义MobileDatePicker的日期确认按钮时,必须保留并调用组件传入的内置onClick属性,否则会中断MUI内部的回调触发流程,导致onAccept无法执行。

问题原因

自定义按钮时,若完全替换原组件按钮但未绑定MUI内置的点击处理逻辑,就会导致回调链断裂——原按钮的onClick中包含了触发onAccept回调的核心逻辑,忽略这个属性自然无法触发目标回调。

解决方案

在自定义按钮组件中,接收并调用传入的onClick props,示例如下:

// 自定义确认按钮组件
const CustomAcceptButton = (props) => {
  return (
    <Button 
      variant="contained" 
      onClick={props.onClick} // 必须调用内置的onClick以保留原逻辑
      sx={{ backgroundColor: 'green' }}
    >
      自定义确认
    </Button>
  );
};

// 在MobileDatePicker中使用自定义按钮
<MobileDatePicker
  slots={{ acceptButton: CustomAcceptButton }}
  onAccept={(date) => console.log('日期确认:', date)}
  // 其他配置项...
/>

这种方式既保留了你对按钮样式、文本的定制需求,又能正常触发onAccept回调。

内容的提问来源于stack exchange,提问作者subharb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 16:43:17