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

如何移除MUI中type为date的TextField组件自带的日历图标?

解法说明

你的代码不生效、修改InputProps.endAdornment也无效,核心原因有两个:

  • 你要移除的日历选择图标是浏览器给原生type="date"输入框渲染的默认控件,不是MUI组件库追加的后缀装饰节点,所以调整endAdornment配置根本作用不到这个元素
  • MUI的TextField是多层嵌套的复合组件,原生input标签是组件内部的子节点,你直接在TextField根节点上写&::-webkit-calendar-picker-indicator,相当于给根div加伪元素样式,自然匹配不到内部的input

直接把选择器指向组件内部的原生input节点即可实现需求,参考代码如下:

<TextField
  sx={{
    '& .MuiInputBase-input::-webkit-calendar-picker-indicator': {
      display: 'none',
      '-webkit-appearance': 'none',
    }
  }}
  id="outlined-basic"
  variant="outlined"
  type="date"
  helperText="Please select the date"
/>

如果遇到样式优先级不够被覆盖的情况,给display: none加个!important标记就能稳定生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 17:16:17