项目场景:
用了很久的antd Modal,今天突然有个弹框左右布局的需求,我在css中设置弹性盒模型,却发现样式一直不生效,经查资料,总结一下。
原因分析:
打开 F12 审查元素,你就都明白啦!
弹框居然跟 root 同级,被挂载到外面了。。。
解决方案:
给弹框加属性 getContainer = {false} 让它挂载进来。
<Modal title="测试" getContainer = {false} width={1000} destroyOnClose={true} centered visible={this.state.isModalVisibleTest} onOk={this.handleOkTest} onCancel={this.handleCancelTest}><div className={`${styles.testModelCss}`}><div className={`${styles.testModelDiv}`}><h3>上传文件</h3><Dragger {...props} className={`${styles.Dragger}`}><p className="ant-upload-drag-icon"><InboxOutlined /></p><p className="ant-upload-text">这里上传测试文件!!!</p><p className="ant-upload-hint">右侧显示该文件的模型测试结果, 返回接口参数</p></Dragger><Button className={`${styles.beginTest}`}>开始测试</Button></div><div className={`${styles.testModelDiv}`}><h3>抽取结果</h3><pre>{columns}</pre></div></div></Modal>
圆满完成!