簡體   English   中英

通過單擊圖片來關閉Material-UI對話框

[英]Close material-ui dialog by onClick on an image

我正在嘗試添加可點擊的圖像以關閉Material-UI對話框。 當我在對話框外單擊時,props.onRequestClose可以正常工作,但是onClick沒有響應。

我想念什么?

const ChangePasswordDialog = (props) =>  (
        <Dialog open={props.open} onRequestClose={props.onRequestClose} modal={false}>
            <div className="close-popup">
                <Svg onClick={props.onRequestClose} viewBox="0 0 22.75 22.75">{closePopup}
                </Svg >
            </div>
        </Dialog>
);

ChangePasswordDialog.propTypes = {
open:PropTypes.bool.isRequired,
onRequestClose:PropTypes.func.isRequired
};

我通過將一個名為onClick的道具添加到Svg組件中來解決了該問題。 如果有人需要,這是Svg組件的代碼:

class Svg extends Component{
render() {
    const {children, viewBox, onClick} = this.props;
    return(
        <div onClick={onClick}>
            <SvgIcon viewBox={viewBox}>
                {children}
            </SvgIcon>
        </div>
       )
    };
  }

Svg.propTypes = {
   children:PropTypes.any.isRequired,
   viewBox:PropTypes.string,
   onClick:PropTypes.function
 };

export default Svg;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM