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

Material UI TextField组件如何将默认灰色边框修改为黑色

解决方案

你使用的是Material UI的outlined变体TextField,该组件的边框是通过独立的fieldset元素实现,而非绑定在input输入框上,这是你之前修改input样式不生效的核心原因。按照以下步骤修改即可:

步骤1:更新makeStyles中的样式定义

在你原有样式基础上新增textField样式类:

const useStyles = makeStyles(() => ({
    // 保留你原有的updatePage、updateMovementDiv、textDiv等样式
    textField: {
        // 默认状态边框为黑色
        "& .MuiOutlinedInput-notchedOutline": {
            borderColor: "#000",
        },
        // 鼠标悬浮时边框颜色
        "&:hover .MuiOutlinedInput-notchedOutline": {
            borderColor: "#000",
        },
        // 聚焦选中时边框颜色
        "&.Mui-focused .MuiOutlinedInput-notchedOutline": {
            borderColor: "#000",
        },
        // 可选:如果需要同步修改标签文字颜色可以添加以下样式
        "& .MuiInputLabel-outlined": {
            color: "#000",
        },
        "&.Mui-focused .MuiInputLabel-outlined": {
            color: "#000",
        }
    },
}));

步骤2:给TextField组件绑定样式

给所有需要修改边框的TextField组件添加className={classes.textField}属性即可,示例如下:

<TextField 
    name="movementName"
    variant="outlined"
    label="Movement Name" 
    style={{ width:200 }}
    className={classes.textField} // 新增这一行
    value={move.movementName}
    onChange={(e) => setMoveData({ ...moveData, movementName: e.target.value })}
/>

如果你需要区分不同交互状态的边框颜色,直接修改对应选择器下的borderColor属性值即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 04:57:03