MUI Static DatePicker sx属性失效,无法禁用默认对话框操作按钮
解决MUI StaticDatePicker默认对话框操作按钮隐藏无效的问题
你的sx样式没生效,核心原因是StaticDatePicker的根元素和内部DialogActions存在层级关系,直接在sx里写.MuiDialogActions-root无法正确命中目标元素。给你两种实用解决方式:
方法一:用组件自带的actions属性(推荐)
StaticDatePicker本身支持通过actions属性控制操作按钮,直接设为空数组就能去掉默认的确认/取消按钮,比样式覆盖更简洁可靠:
<LocalizationProvider dateAdapter={AdapterDayjs}> <StaticDatePicker actions={[]} // 设为空数组,直接隐藏默认操作按钮 showToolbar={false} value={selectedDate} views={["month", "year"]} onChange={handleDateChange} toolbarFormat={false} pickersToolbar={false} /> </LocalizationProvider>
方法二:修正sx选择器(若必须用样式覆盖)
如果一定要通过sx控制样式,需要用嵌套选择器,通过&关联组件根元素的后代元素:
<LocalizationProvider dateAdapter={AdapterDayjs}> <StaticDatePicker sx={{ '& .MuiDialogActions-root': { // 加上&,表示根元素下的目标类 display: 'none', }, }} showToolbar={false} value={selectedDate} views={["month", "year"]} onChange={handleDateChange} toolbarFormat={false} pickersToolbar={false} /> </LocalizationProvider>
注意:尽量避免使用!important,除非确认存在高优先级样式冲突,优先用组件自带属性或正确的嵌套选择器解决问题。
内容的提问来源于stack exchange,提问作者Sriram
相关产品推荐
相关产品推荐

