项目场景:
用了很久的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>
圆满完成!