UNPKG

zent

Version:

一套前端设计语言和基于React的实现

54 lines (33 loc) 2.35 kB
# zent-dialog [![npm version](https://img.shields.io/npm/v/zent-dialog.svg?style=flat)](https://www.npmjs.com/package/zent-dialog) [![downloads](https://img.shields.io/npm/dt/zent-dialog.svg)](https://www.npmjs.com/package/zent-dialog) 弹窗组件 ## 使用场景 需要提供一个带有遮罩的弹出窗口 ## 使用指南 #### 两种控制方式 - 命令式, 直接调用 `openDialog` 函数, **不支持 `context`.** - 组件式, 通过控制 `visible` 来显示/隐藏对话框, **支持 `context`.** **推荐使用命令式, 不需要在外部维护一个 `visible` 属性, 更加方便.** #### openDialog `openDialog(options: object): function` **`options` 参数支持组件除 `visible` 以外的所有属性.** 如果需要组件实例的引用, 可以传一个函数形式的 `ref``openDialog`, **不支持字符串形式的 `ref`.** 返回值是一个手动关闭 Dialog 的函数 `closeDialog()`, `closeDialog(false)` 将不会触发Dialog的 `onClose` 方法 重复调用 `closeDialog` 等效于执行 `noop` 函数. #### 指定Dialog宽度`style` 中可以指定弹出窗口的宽度, e.g. `style={{ width: '600px' }}`. 默认情况下弹出窗口会自适应内容的宽度, 同时有最小宽度和最大宽度. ## Component API | 参数 | 说明 | 类型 | 默认值 | | ------------ | ----------------------------- | ------ | -------- | | title | 自定义弹框标题 | node | `''` | | children | 弹框内容: `<Dialog>xxxx</Dialog>` | node | `null` | | footer | 底部内容 | node | `null` | | visible | 是否打开对话框 | bool | `false` | | closeBtn | 是否显示右上角关闭按钮 | bool | `true` | | onClose | 关闭操作回调函数 | func | `noop` | | mask | 是否显示遮罩 | bool | `true` | | maskClosable | 点击遮罩是否可以关闭 | bool | `true` | | className | 自定义额外类名 | string | `''` | | prefix | 自定义前缀 | string | `'zent'` | | style | 自定义样式 | object | `{}` |