Modal
Properties
ModalActions
Name | Type | Default | Description |
---|---|---|---|
text | string | Text hiển thị của action | |
highLight | boolean | Nếu giá trị là | |
danger | boolean | Nếu giá trị là | |
onClick | function | Function sẽ được gọi khi click action | |
close | boolean | Action sau khi click sẽ close modal | |
disabled | boolean | Disable action |
Modal
Name | Type | Default | Description | Minimum Version |
---|---|---|---|---|
mask | boolean | Hiển thị mask | ||
afterClose | function | Function được gọi sau khi modal đóng | ||
onClose | function | Function được gọi khhi modal đóng | ||
maskClosable | boolean | Có thể đóng modal khi click vào mask | ||
visible | boolean | Hiển thị modal | ||
unmountOnClose | boolean | false | Unmount sau khi đóng modal | 1.6.0 |
title | string | Title của modal | ||
coverSrc | string |
| ||
modalStyle | React.CSSProperties | Style modal | ||
maskStyle | React.CSSProperties | Style mask | ||
modalClassName | string | Modal class name | ||
maskClassName | string | Mask class name | ||
width | string | number | Modal width | ||
height | string | number | Modal height | ||
description | string | Modal description | ||
actions | ModalActions | Modal actions list | ||
actionsDivider | boolean | Hiển thị divider giữa các action | ||
zIndex | number | Giá trị zindex của modal |
Example
import React, { useState } from 'react'; import { Page, Button, Text, Modal, Box } from 'zmp-ui'; export default function HomePage(props) { const [modalVisible, setModalVisible] = useState(false); const [dialogVisible, setDialogVisible] = useState(false); const [vDialogVisible, setVDialogVisible] = useState(false); const [popupVisible, setPopupVisible] = useState(false); return ( <Page className='section-container'> <Text.Title size='small'>Dialog & Modal</Text.Title> <Box mt={4}> <Button variant='secondary' fullWidth onClick={() => { setDialogVisible(true); }} > Info Dialog </Button> </Box> <Box mt={4}> <Button variant='secondary' fullWidth onClick={() => { setVDialogVisible(true); }} > Info Dialog Vertical Actions </Button> </Box> <Box mt={4}> <Button variant='secondary' fullWidth onClick={() => { setPopupVisible(true); }} > Custom Modal </Button> </Box> <Box mt={4}> <Button variant='secondary' fullWidth onClick={() => { setModalVisible(true); }} > Custom Modal With Cover </Button> </Box> <Modal visible={dialogVisible} title='This is the title' onClose={() => { setDialogVisible(false); }} actions={[ { text: 'Button' }, { text: 'Button', close: true, highLight: true } ]} description='This is a very long message that can be displayed in 3 lines' /> <Modal visible={vDialogVisible} title='This is the title' onClose={() => { setVDialogVisible(false); }} verticalActions actions={[ { text: 'Long Text Button' }, { text: 'Long Text Button', close: true, highLight: true } ]} description='This is a very long message that can be displayed in 3 lines' /> <Modal visible={popupVisible} title='This is the title' onClose={() => { setPopupVisible(false); }} verticalActions description='This is a very long message that can be displayed in 3 lines' > <Box p={6}> <Button onClick={() => { setPopupVisible(false); }} fullWidth > Xác nhận </Button> </Box> </Modal> <Modal visible={modalVisible} title='ZaUI 2.0 Modal' coverSrc={'https://images.unsplash.com/photo-1561336313-0bd5e0b27ec8'} onClose={() => { setModalVisible(false); }} zIndex={1200} actions={[ { text: 'Button' }, { text: 'Cancel', close: true, highLight: true } ]} description="Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged." /> </Page> ); }