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

如何定位MUI特定默认类?AccordionSummary组件样式修改

解决AccordionSummary焦点样式不生效问题

你之前的样式选择器写法有误,导致无法正确命中目标类。核心问题是你用了后代选择器(&后面加了空格),但Mui-focusVisible类是直接挂载在AccordionSummary自身根元素上的,并非后代元素。

直接修改sx属性里的选择器即可生效:

<AccordionSummary
  sx={{
    // 直接命中当前组件的focusVisible状态
    '&.Mui-focusVisible': {
      backgroundColor: 'transparent'
    },
    // 如果需要调整输入框的焦点样式,可追加以下规则(按需启用)
    '& .MuiTextField-root': {
      '&.Mui-focused': {
        // 示例:去掉输入框的焦点边框高亮
        // outline: 'none'
      }
    }
  }}
  id='panel-header-1'
  aria-controls='panel-content-1'
  expandIcon={
    <Box sx={{ rowGap: 2, display: 'flex', flexWrap: 'wrap', alignItems: 'center' }}>
      <CustomTextField
        value={value}
        sx={{ mr: 4 }}
        placeholder='搜索产品'
        onChange={e => handleFilter(e.target.value)}
      />
      <Button onClick={toggleAccordion} variant='contained'>
        筛选
      </Button>
    </Box>
  }
></AccordionSummary>

额外提示:如果点击输入框或按钮时,AccordionSummary意外触发展开/折叠,可以给这两个组件添加事件冒泡阻止,避免干扰父组件逻辑:

<CustomTextField
  value={value}
  sx={{ mr: 4 }}
  placeholder='搜索产品'
  onChange={e => handleFilter(e.target.value)}
  onClick={(e) => e.stopPropagation()}
/>
<Button onClick={(e) => {
  e.stopPropagation();
  toggleAccordion();
}} variant='contained'>
  筛选
</Button>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 05:20:55