Chuyển tới nội dung chính

Modal

import { Modal } from "zmp-ui";

Dùng để hiển thị nội dung quan trọng hoặc yêu cầu người dùng thực hiện một hành động cụ thể trước khi tiếp tục sử dụng tính năng của ứng dụng.

Ví dụ

Bảng thuộc tính

ModalProps

PropertyTypeRequiredDescription
maskbooleanNoMask là một lớp overlay màu xám được phủ lên các thành phần bên dưới hộp thoại, ngăn không cho người dùng tương tác với các nội dung đó và tập trung vào hộp thoại được mở. (default: true)
afterClose() => voidNoCallback được gọi sau khi hộp thoại đóng
onClose(e: React.SyntheticEvent) => voidNoCallback được gọi khi người dùng yêu cầu đóng hộp thoại. Cần phải cập nhật lại giá trị của `visible` nếu truyền vào.
maskClosablebooleanNoCho phép đóng hộp thoại khi click vào mask. (default: true)
visiblebooleanNoTrạng thái hiển thị của hộp thoại. Cần được sử dụng chung với `onClose` để cập nhật lại giá trị của `visible` khi người dùng yêu cầu đóng hộp thoại. (default: false)
titlestringNoTiêu đề của hộp thoại, được hiển thị ở phía trên cùng của hộp thoại.
coverSrcstringNoĐường dẫn đến hình ảnh cover của hộp thoại
modalStyleReact.CSSPropertiesNoInline style cho hộp thoại
maskStyleReact.CSSPropertiesNoInline style cho mask
modalClassNamestringNoCSS class cho modal
maskClassNamestringNoCSS class cho mask
widthstring | numberNoĐộ rộng của hộp thoại. Nếu không được thiết lập, modal sẽ có độ rộng mặc định theo độ rộng của nội dung và chiều rộng của màn hình.
heightstring | numberNoChiều cao của hộp thoại. Nếu không được thiết lập, modal sẽ có chiều cao mặc định theo chiều cao của nội dung và chiều cao của màn hình.
descriptionstringNoNội dung của hộp thoại, được hiển thị phía dưới tiêu đề. Nếu nội dung cần hiển thị không phải là text, sử dụng `children` để truyền ReactNode vào thay vì `description`.
actionsModalActions[]NoMảng thiết lập các nút để người dùng thực hiện các hành động trên hộp thoại.
verticalActionsbooleanNoHiển thị các action theo chiều dọc, thay vì mặc định là theo chiều ngang. (default: false)
childrenReact.ReactNodeNoNội dung của hộp thoại, được hiển thị ở dưới description và trên các action.
actionsDividerbooleanNoHiển thị viền phân cách giữa các action. (default: false)
zIndexnumberNoĐộ sâu của hộp thoại, dùng để xác định thứ tự hiển thị của hộp thoại trong trường hợp có nhiều modal được mở cùng lúc.
unmountOnClosebooleanNoMặc định khi người dùng đóng hộp thoại, modal vẫn còn được render trong DOM và chỉ bị ẩn đi. Thiết lập này cho phép gỡ hộp thoại khỏi cây DOM hoàn toàn sau khi đóng. Thiết lập này có thể giúp giảm bộ nhớ được sử dụng trong trường hợp hộp thoại có nội dung lớn. Tuy nhiên, khi hộp thoại được mở lại, nội dung của hộp thoại sẽ được render lại từ đầu. Phù hợp với những hộp thoại chỉ sử dụng một lần. (default: false)

ModalActions

PropertyTypeRequiredDescription
textstringNoChữ trên nút
highLightbooleanNoHiển thị action dưới dạng nút highlight (default: false)
dangerbooleanNoHiển thị action dưới dạng nút danger (default: false)
onClick(e: React.MouseEvent) => voidNoCallback được gọi khi action được click
closebooleanNoNếu được set thành `true`, action sẽ đóng modal khi được click (default: false)
disabledbooleanNoTrạng thái hoạt động của action (default: false)
keystringNo