我正在使用React和Material-UI构建一个网页。我有一个TextField元素,我想删除箭头按钮-如果使用的是CSS,我将使用以下代码:
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
但是我想在使用export default withStyles(styles)(FormPersonalDetails)
的JS中使用CSS设置页面样式。我该怎么做呢?
`
const styles = theme => ({
number: {
// styling code goes here//
}
});
render()函数:
const { classes } = this.props;
return (
<TextField className={classes.number} />
)
答案 0 :(得分:0)
有一些语法选项。我在下面包括了两个选项。第一个在className
上使用TextField
,然后定位后代input
元素。第二个通过input
inputProps
属性将className直接应用于TextField
元素。
两者中都使用&
来引用parent selector(即应用于该类的元素)。
import React from "react";
import ReactDOM from "react-dom";
import TextField from "@material-ui/core/TextField";
import { withStyles } from "@material-ui/core/styles";
const styles = theme => ({
number: {
"& input::-webkit-outer-spin-button, & input::-webkit-inner-spin-button": {
"-webkit-appearance": "none",
margin: 0
}
},
input: {
"&::-webkit-outer-spin-button, &::-webkit-inner-spin-button": {
"-webkit-appearance": "none",
margin: 0
}
}
});
function App({ classes }) {
return (
<div className="App">
<TextField type="number" className={classes.number} />
<br />
<TextField type="number" inputProps={{ className: classes.input }} />
</div>
);
}
const StyledApp = withStyles(styles)(App);
const rootElement = document.getElementById("root");
ReactDOM.render(<StyledApp />, rootElement);