【发布时间】:2026-02-12 07:30:01
【问题描述】:
我正在开发下一个 js 项目,我应该创建一个表单以使用特定样式进行注册。
问题是我不知道如何用我自己的 css 自定义 textField。我尝试使用makeStyles 函数,但问题是我应该将对象传递给makeStyles,并且某些属性不存在,例如背景颜色、边框半径等...
这是我要应用的 css:
.Name {
width: 535px;
height: 61px;
flex-grow: 0;
margin: 40px 100px 20px 0;
padding: 19px 329px 20px 20px;
border-radius: 8px;
border: solid 1px var(--select-border);
background-color: #ffffff;
}
我把这个 css 放在一个文件中,我将它作为样式导入到我的组件中,并在 className 中调用它 这个:
<TextField
className={styles.Name}
placeholder='Nom de votre restaurant'
>
我用这种方式尝试了 makeStyles:
const useStyles = makeStyles({
nameStyles: {
width:' 535px',
height:' 61px',
flexGrow:'0',
margin:'40px 100px 20px 0',
padding: '19px 329px 20px 20px',
border: '8px',
border: 'solid 1px var(--select-border)',
backgroundColor:' #ffffff',
})
export default function RestaurantRegistration() {
const classes = useStyles()
return (
<React.Fragment>
<TextField
className={classes.nameStyles}
placeholder='Restaurant Name'
>
</TextField>
)
}
使用第二种方法,我不得不更改名称中包含“-”的属性,因为我遇到了语法错误。例如,我将 flex-grow 更改为 flexGrow,将背景色更改为 backroundColor。我不知道这是否正确。谁能帮帮我?
【问题讨论】:
-
如果您刚刚复制粘贴了代码,这会给您一个错误,因为您缺少一个用于“nameStyles”的右大括号。据我所知,您的语法是正确的,并且需要使用 camelCase 命名这些变量的方式,因为您使用 ts 编写,稍后会转换为 css。向您的代码添加更详细的分析(控制台日志等)更有可能得到答案。
-
另外,我刚刚看到的是,如果你不在 Textfield 中写任何东西,这个应该是一个自闭合标签,语法如下:
-
我尝试了很多方法,但我没有得到我想要的结果我现在不知道是什么问题
标签: css reactjs material-ui next.js