Javascript 如何在材质UI中将对话框定位到顶部
我目前正在创建一个弹出对话框。但是,我的对话框位于弹出的中心位置 当我按下弹出按钮btn时,如何使位置位于页面顶部 这是我的密码Javascript 如何在材质UI中将对话框定位到顶部,javascript,html,css,reactjs,material-ui,Javascript,Html,Css,Reactjs,Material Ui,我目前正在创建一个弹出对话框。但是,我的对话框位于弹出的中心位置 当我按下弹出按钮btn时,如何使位置位于页面顶部 这是我的密码 <div> <div id="so_reg" className="buy_btn" onClick={this.onClickCashBuy.bind(this)}> Pop up button </div> <Dialog className="d
<div>
<div id="so_reg" className="buy_btn" onClick={this.onClickCashBuy.bind(this)}>
Pop up button
</div>
<Dialog className="dialog" modal={false} open={this.state.buy_cash_popup} onRequestClose={this.onClickBuyCashCancel} style={{color: 'green'}} >
<Test product={{price: this.state.buy_cash_type}} />
</Dialog>
</div>
弹出按钮
您可以覆盖
功能部件
经典成分
用法
参见:物料界面文档 对话框的HTML结构,我们可以从开发工具中看到 从下面选择MuiDialog滚动纸
...
在代码中
import { withStyles } from '@material-ui/styles';
const styles = theme => createStyles({ // change to this
scrollPaper: {
alignItems: 'baseline'
}
});
class Shop extends Component {
render(){
const { classes } = this.props; // add this
return(
<Dialog className="dialog" classes={{scrollPaper: classes.scrollPaper }} modal={false} open={this.state.buy_cash_popup} onRequestClose={this.onClickBuyCashCancel} style={{color: 'green'}} >
<Test product={{price: this.state.buy_cash_type}} />
</Dialog>
export default withStyles(styles)(Shop); // `styles` here rather than `class`
从'@material ui/styles'导入{withStyles};
const styles=theme=>createStyles({//更改为此
卷轴纸:{
对齐项目:“基线”
}
});
类商店扩展组件{
render(){
const{classes}=this.props;//添加此
返回(
导出默认样式(样式)(商店);//`style`此处而不是`class`
您可以覆盖
功能部件
经典成分
用法
参见:物料界面文档 对话框的HTML结构,我们可以从开发工具中看到 从下面选择MuiDialog滚动纸
...
在代码中
import { withStyles } from '@material-ui/styles';
const styles = theme => createStyles({ // change to this
scrollPaper: {
alignItems: 'baseline'
}
});
class Shop extends Component {
render(){
const { classes } = this.props; // add this
return(
<Dialog className="dialog" classes={{scrollPaper: classes.scrollPaper }} modal={false} open={this.state.buy_cash_popup} onRequestClose={this.onClickBuyCashCancel} style={{color: 'green'}} >
<Test product={{price: this.state.buy_cash_type}} />
</Dialog>
export default withStyles(styles)(Shop); // `styles` here rather than `class`
从'@material ui/styles'导入{withStyles};
const styles=theme=>createStyles({//更改为此
卷轴纸:{
对齐项目:“基线”
}
});
类商店扩展组件{
render(){
const{classes}=this.props;//添加此
返回(
导出默认样式(样式)(商店);//`style`此处而不是`class`
我尝试按照您的建议进行操作,但仍然不起作用。我正在使用组件,因此我尝试将您的代码转换为组件结构。我更新了我的帖子。如果您知道如何修复它,请告诉我。谢谢!:)我再次更新了帖子。我使用withStyles更改了makeStyles。但是,我遇到了一个错误:“Type Error:不能分配对象的‘类’的对象,”我尝试使用你的更新版本。但是我没有得到任何错误,但是它仍然显示在屏幕中间而不是顶部。而且,我假设你写的是代码> const {Case} =这个。(因为道具在类组件之外是未定义的。奇怪..我没有收到任何错误,但是当我单击按钮时,对话框仍然在中心弹出。另外,在我的代码中,我认为它应该是=this.props
而不是=props
。另外,使用“主题”有什么意义“?我认为它在任何地方都不会被使用好的,我会进一步调查。谢谢你的帮助!@Keikai尝试按照你的建议进行操作,但仍然不起作用。我正在使用组件,所以我尝试将你的代码翻译成组件结构。我更新了我的帖子。如果你知道如何修复它,请告诉我。谢谢!)我再次更新了帖子。我用withStyles更改了makeStyles。但是,我收到了一个错误:“TypeError:无法分配给对象“#”的只读属性“classes”我尝试使用你的更新版本。但是我没有任何错误,它仍然出现在屏幕中间而不是顶部。我假设你写的是代码> const {类} =这个。(因为道具在类组件之外是未定义的。奇怪..我没有收到任何错误,但是当我单击按钮时,对话框仍然在中心弹出。另外,在我的代码中,我认为它应该是=this.props
而不是=props
。另外,使用“主题”有什么意义?我认为它在任何地方都没有用好的,我会进一步调查。谢谢你的帮助!@keikai
const styles = theme => createStyles({
scrollPaper: {
alignItems: 'baseline' // default center
}
});
const { classes } = props;
export default withStyles(styles)(YourComponent);
<Dialog classes={{scrollPaper: classes.scrollPaper }}>
import { withStyles } from '@material-ui/styles';
const styles = theme => createStyles({ // change to this
scrollPaper: {
alignItems: 'baseline'
}
});
class Shop extends Component {
render(){
const { classes } = this.props; // add this
return(
<Dialog className="dialog" classes={{scrollPaper: classes.scrollPaper }} modal={false} open={this.state.buy_cash_popup} onRequestClose={this.onClickBuyCashCancel} style={{color: 'green'}} >
<Test product={{price: this.state.buy_cash_type}} />
</Dialog>
export default withStyles(styles)(Shop); // `styles` here rather than `class`