Skip to main content

Modal

在保留当前页面状态的情况下,告知用户并承载相关操作

基础使用​

function App() {
const [visible, setVisible] = useState(false)
return (
<div className="ykui-demo-row">
<Button type="default" onClick={() => setVisible(true)}>点击</Button>
<Modal
visible={visible}
header='模态窗口'
position='center'
showCloseIcon={true}
showMark={true}
onClose={() => setVisible(false)}
>
<div style={{ width: 420, padding: 20 }}>这是一个模态窗口</div>
</Modal>
</div>
);
}

显示遮罩层​

  • showMark : 为true则显示遮罩层,默认为 true
  • closeOnMark: 为true则点击遮罩层关闭弹窗,默认为 true
function App() {
const [visible, setVisible] = useState(false)
return (
<div className="ykui-demo-row">
<Button type="default" onClick={() => setVisible(true)}>点击</Button>
<Modal
visible={visible}
header='模态窗口'
position='center'
showCloseIcon={true}
showMark={true}
closeOnMark
onClose={() => setVisible(false)}
>
<div style={{ width: 420, padding: 20 }}>这是一个模态窗口</div>
</Modal>
</div>
);
}
  • footer : 为 null 时则不显示
  • header : 为 null 时则不显示
function App() {
const [visible, setVisible] = useState(false)
const footer = (
<div style={{ display: 'flex', padding: 16 }}>
<div style={{ flex: 1, lineHeight: '36px' }}>install</div>
<div>
<Button type="default" onClick={() => setVisible(false)}>reset</Button>
<Button style={{ marginLeft: 20 }}>confirm</Button>
</div>
</div>
)
return (
<div className="ykui-demo-row">
<Button type="default" onClick={() => setVisible(true)}>点击</Button>
<Modal
visible={visible}
header='自定义footer'
position='center'
footer={footer}
showCloseIcon
showMark={true}
style={{ width: 420 }}
onClose={() => setVisible(false)}
>
<div style={{ width: 420, padding: 20 }}>这是一个模态窗口</div>
</Modal>
</div>
);
}
  • cancelText : 取消按钮的文本
  • onCancel : 取消按钮的回调函数
  • confirmText : 确定按钮的文本
  • onConfirm : 定按钮的回调函数
function App() {
const [visible, setVisible] = useState(false)
return (
<div className="ykui-demo-row">
<Button type="default" onClick={() => setVisible(true)}>点击</Button>
<Modal
visible={visible}
header='模态窗口'
position='center'
showCloseIcon={true}
showMark={true}
onClose={() => setVisible(false)}
cancelText="cancelText"
confirmText="confirmText"
>
<div style={{ width: 420, padding: 20 }}>这是一个模态窗口</div>
</Modal>
</div>
);
}
属性说明类型默认值
defaultVisible初始值时是否显示booleanfalse
visible是否显示booleanfalse
children显示的主体内容ReactNode〡Function--
showMark是否显示遮罩层booleantrue
closeOnMark点击遮罩层是否关闭弹窗booleantrue
closeOnEsc按下Esc可以关闭窗口booleantrue
onClose关闭弹窗函数Function--
style内容的样式Object--
modalStyle边框的样式Object--
footer自定义footer,为null则不显示footerReactNode--
showCloseIcon是否显示关闭按钮booleantrue
header标题,为null则不显示headerReactNode--
full是否高度100%,中间可滚动booleanfalse
confirmText确认按钮文本string确定
cancelText取消按钮文本string取消
onCancel取消按钮的回调函数Function--
onConfirm确定按钮的回调函数Function--
confirmNotClose确定按钮回调函数不关闭弹窗booleanfalse
hideCancel是否隐错取消按钮booleanfalse
hideConfirm是否隐错确定按钮booleanfalse
modalClassNamemodal类名any--
className内容类名string--
position组件显示位置left〡right〡center〡top〡bottomcenter
container挂载节点的位置any--