Dialog
Introduce
dialog组件内部使用了 widget
组件. 拥有widget的所有属性和方法.
props
widget 所有属性.
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
visible | boolean | 表示是否显示; 允许使用 visible.sync 进行双向绑定 |
|
mask | boolean | 是否显示遮罩层. (默认为 true) | |
maskClose | boolean | 是否点击遮罩层后关闭. (默认为 false) | |
preventEvent | boolean | 是否阻止时间传递到遮罩层及以下. (默认为 true) | |
pageClass | String或Array | 除遮罩层外的内容层的样式类. | |
pageStyle | String或Array或Object | 除遮罩层外的内容层的样式 | |
appendToBody | boolean或’true’或’false’ | 是否添加到body上 |
dialog相关属性
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
showClose | boolean | 表示右上角是否显示关闭按钮 | |
title | string | 标题; 如果为提供 slot=title 的内容则使用此属性作为标题 |
slots
名称 | 描述 |
---|---|
title | 标题 |
foot | 底部按钮; 底部按钮使用button时, 支持最多3个按钮的自动排列 |
例如:
- 标题:
1 | <div slot="title">自定义标题</div> |
- 底部按钮
1 | <div slot="foot"> |
methods
widget的所有方法.
名称 | 描述 |
---|---|
show():Promise |
显示 |
hide():Promise |
隐藏 |
hook
当背景页面存在垂直滚动条, 对话框等浮动组件弹出时, 如果背景元素使用fixed等定位, 在滚动条消失的瞬间, 页面多出了滚动条宽度而会出现页面跳动的情况.
可以使用如下的hook方法来进行消除页面跳动.
1 | /** |
example
示例代码.
1 | <bp-dialog :visible.sync="visible1" title="hello"> |
See the Pen QWbgryv by brainpoint (@brainpoint) on CodePen.
自定义主题
dialog样式结构如下:
默认的 z-index=2000 向上递增.
1 | .bp-dialog { |
scss样式文件存放在@bpui/dialog/style
目录下, 可以复制修改以定制主题
注册dialog组件
注册dialog组件到全局后, 可以在任意地方使用api的方式来显示.
- 使用api进行自定义组件的注册, api如下:
1 | /** |
- 注册自定义组件后, 可使用如下api进行显示隐藏
1 | /** |
注册的自定义组件的要求
- 自定义浮动组件最外层需为
bpDialog
;
如:
1 | <template> |