我试图减少该组件的宽度:
https://github.com/callemall/material-ui/blob/master/src/TextField/TextField.jsx
这是渲染方法:
render() {
return (
<div>
<div>
<form onSubmit={this.handleSubmit}>
<TextField
hintText="Email"
ref="email"
/><br/>
<TextField
hintText="Password"
type="password"
ref="password"
/><br/>
<button className="btn btn-success" onClick={this.loginCommand}><i className="fa fa-sign-in"/>{' '}Log In</button>
</form>
</div>
}
</div>
);
}
}
Thx!
答案 0 :(得分:13)
您可以在元素上指定内联样式,如下所示
<TextField
hintText="Email"
ref="email"
style = {{width: 100}} //assign the width as your requirement
/>
或者你可以这样做。
使用css属性声明styles
变量。
var styles = StyleSheet.create({
textFld: { width: 100, height: 40} //assign the width as your requirement
});
将其分配到style
代码中的render
。
<TextField
hintText="Email"
ref="email"
style = {styles.textFld}
/>
尝试让我知道它是否适合你。我也是新的反应js。
为了清楚起见,您可以在SO上参考文档和其他类似问题。 http://facebook.github.io/react-native/docs/style.html#content
http://facebook.github.io/react-native/
http://facebook.github.io/react-native/docs/flexbox.html#content
答案 1 :(得分:13)
您还可以将fullWidth
property与React Material UI一起使用。
<TextField
id="full-width-text-field"
label="Label"
placeholder="Placeholder"
helperText="Full width!"
margin="normal"
fullWidth
/>
答案 2 :(得分:2)
来自doc:
样式 - &gt;对象 - &gt;覆盖根元素的内联样式。
inputStyle - &gt;对象 - &gt;覆盖TextField输入元素的内联样式。
等
所以你可以这样做:
<TextField
hintText=".."
ref=".."
style ={{width: '100%'}}
inputStyle ={{width: '100%'}}
/>
也许还可以通过为组件提供id或className,并使用css进行定位(添加!important):
<TextField
id="myId"
className="myClass"
/>
-----
.myId{
width: 100% important!;
}
答案 3 :(得分:0)
如果您想将TextField
的宽度扩展为父母的宽度(width: 100%
):
<TextField label="Full width" fullWidth />
如果要将TextField
的宽度设置为确切的值:
<Box width={350}>
<TextField label="width: 350px" fullWidth />
</Box>
如果您不想添加包装器组件,也可以直接设置TextField
的样式。
const useStyles = makeStyles({
root: {
width: 350
}
});
function App() {
const classes = useStyles();
return <TextField label="width: 350px" className={classes.root} />;
}
我建议您不要使用其他答案中建议的内联样式,因为内联样式更难覆盖。默认情况下,您应该使用Material-UI styles,因为它更灵活并且可以更好地与Material-UI组件集成。例如,您可以cherry-pick子组件以在较大的组件中进行覆盖,或者对psuedo类和元素进行样式设置,而内联样式无法做到这一点。