You need to enable JavaScript to run this app. 如何实现鼠标悬停Material-ui TextField时显示pointer指针光标
优惠活动
大模型
产品
解决方案
定价
更多

如何实现鼠标悬停Material-ui TextField时显示pointer指针光标

问题原因

你将cursor: pointer规则绑定到了fieldset元素上,该元素仅作为Outlined变体的边框装饰层,不负责响应输入区域的鼠标交互。默认的cursor: text样式是挂载在.MuiOutlinedInput-root根节点以及内部原生input元素上的,所以你的规则无法覆盖生效。

解决方案

调整样式规则的挂载位置,直接给.MuiOutlinedInput-root根节点设置对应状态的cursor,同时覆盖内部input的默认cursor即可,修改后的可用代码如下:

import React from 'react';
import styled from 'styled-components';
import { TextField, NoSsr } from '@material-ui/core';

const StyledTextField = styled(TextField)`
  label.Mui-focused {
    color: green;
  }
  .MuiOutlinedInput-root {
    /* 若需要仅悬停时显示pointer,可把下面这条cursor规则放到:hover块内 */
    cursor: pointer;
    &:hover {
      cursor: pointer !important;
      fieldset {
        border-color: yellow;
      }
    }
    fieldset {
      border-color: red;
    }
    &.Mui-focused fieldset {
      border-color: green;
    }
    /* 覆盖内部原生input的默认cursor:text样式 */
    input {
      cursor: pointer !important;
    }
  }
`;

export default function GlobalClassName() {
  return (
    <NoSsr>
      <StyledTextField label="Deterministic" variant="outlined" id="deterministic-outlined-input" />
    </NoSsr>
  );
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 17:45:08