使用antd/Modal
但是不弹窗,请问是否有哪位大佬知道原因呢?
import './App.css'
import { Card, Modal, Space, } from 'antd'
function App() {
const [modal, contextHolder] = Modal.useModal();
const config = {
title: 'Use Hook!',
content: (
<div>1w2e3rreqdw</div>
),
};
return (
<>
<button onClick={ () => {
console.log('点击按钮')
modal.info(config)
}}>按钮</button>
</>
)
}
export default App
大概看了一下你的代码,你已经定义了 const [modal, contextHolder] = Modal.useModal();,但没有在 JSX 中使用 contextHolder。需要在返回的 JSX 中包含 {contextHolder},这样 Modal 才能正常工作。
import './App.css';
import { Modal } from 'antd';
function App() {
const [modal, contextHolder] = Modal.useModal();
const config = {
title: 'Use Hook!',
content: (
<div>1w2e3rreqdw</div>
),
};
return (
<>
<button onClick={() => {
console.log('点击按钮');
modal.info(config);
}}>按钮</button>
{contextHolder}
</>
);
}
export default App;
### 可能的原因及解决方案
1. **Modal 使用方式不正确**:
- `Modal.useModal()` 返回的是一个包含 `showModal`, `destroy`, `update` 等方法的对象,而不是直接包含 `info` 方法的对象。`info` 方法是 `Modal` 组件自身的静态方法,不是通过 `useModal` 钩子返回的方法。
2. **修改代码以正确使用 Modal**:
- 如果你想使用 `Modal.info`,可以直接调用它,而不需要通过 `useModal`。
- 或者,如果你想使用 `useModal`,应该使用 `showModal` 方法来显示模态框,并传递配置对象。
### 修正后的代码
如果你希望继续使用 `useModal`:
import './App.css';
import { Card, Modal, Space, Button } from 'antd';
function App() {
const [modal] = Modal.useModal();
const openModal = () => {
modal.show({
title: 'Use Hook!',
content: <div>1w2e3rreqdw</div>,
onOk: () => {
console.log('OK');
},
onCancel: () => {
console.log('Cancel');
},
});
};
return (
<>
<Button type="primary" onClick={openModal}>
打开模态框
</Button>
</>
);
}
export default App;
如果你希望使用 `Modal.info`:
import './App.css';
import { Card, Modal, Space, Button } from 'antd';
function App() {
const openInfoModal = () => {
Modal.info({
title: 'Info Modal',
content: <div>1w2e3rreqdw</div>,
onOk() {
console.log('Info Modal OK');
},
});
};
return (
<>
<Button type="primary" onClick={openInfoModal}>
显示信息模态框
</Button>
</>
);
}
export default App;
确保你根据实际需求选择正确的使用方式。如果仍然遇到问题,请检查是否有其他代码或样式影响了模态框的显示。
从后端获取图片转blob为什么失败?用unit8array转换显示大小为0 但是后端图片资源是获取成功的 可以正常预览 这可能是什么原因?前端是vue3 后端是springboot3.2.2 java版本是21 后端返回代码如下: 前端请求代码如下: 前端网络返回资源如下: 前端打印的信息: 网页和地址栏预览图片不显示: 纠缠了ai几个小时,搜索了与我类似的情况,尝试不使用accept,或者把re
开发的时候没问题,但是部署到Linux系统后使用vue和地图,然后正常直接打开地图的话没问题,但是弹窗就显示不出来地图一片空白
rxjs使用到mergeMap和map,但是我完全看不懂这个是什么意思,请问是否有大佬帮解释理解一下?
在学习组件tree的时候: 请问是否有方法可以一键展开所有节点呢? 编辑1: 因为我设置了defaultExpandAll没有效果,所以想要知道是否有方法可以对<Tree>进行展开所有?
我使用了next.js 项目,但是在组件中,GetServerSideProps并未执行,请问这个是什么原因呢? 1.是否是写的代码有误? 2.是否是GetServerSideProps 只能在页面中使用,而不能在组件中使用? 组件代码:
需求参考 不需要第三方软件,直接点击客服就能进入页面,直接通讯 这是怎么实现的呢?
请问antd官网有一个右下角浮动按钮,这个button是否是开源的呢? 没有找到antd哪里有介绍此按钮组件。