Confirm 3.0.0
确认弹框组件,居中显示需要关注的对话弹框组件,基于Dialog组件实现。
- 类似浏览器原生API调用形式。
- 自定义组件显隐过程动画。
- 返回一个Promise实例对象,可通过Then方法分别绑定确认、取消回调函数。
使用说明
引用方式
import { Confirm } from '$yo-component';
// 如果你的项目中未使用最新的 ykit-config-yo 插件,可能无法使用上面这个语法糖
// 你仍然可以通过下面这种方式来引用
import Confirm from 'yo3/component/confirm';
基本用法
最简单的用法,传入需要显示的内容参数。用于简单的弹出确认框。
Confirm('the confirm text');
含有标题
通过第二个参数传入组件显示的标题,默认不显示标题。。
Confirm('the confirm text', 'Confirm');
绑定回调函数
通过返回的 Promise
实例对象的 then
方法分别绑定确认、取消按钮的回调函数。
如果 res 的值为 true,说明点击的是确定按钮,反之为取消按钮。
Confirm('the confirm text').then(
res => console.log(`resolve ${res}`)
);
定义按钮文本
Confirm 可以接受一个参数对象 option,除了上面的 content 和 title 外,还可以定义一些更高级的属性值,例如改变两个按钮的文本:
Confirm({
content:'the confirm text',
title:'title',
btnText:['ok','cancel']
});
设置动画
通过给 option 对象传入 animation
参数和 CSS3 动画设置组件显隐过程的动态效果,配置动画对象中的 animation
属性是一个数组,分别对应组件显、隐过程执行的动画效果,duration
属性设置动画执行时间。
也可以传入组件内部支持的动画名字符串 fade
、fade-in-up
、fade-in-down
、zoom
。默认没有动画。
const animation = { animation: ['actionsheet-up', 'actionsheet-down'], duration: 200 };
Confirm({
content:'the confirm text',
title:'Confirm',
animation
})
.actionsheet-up {
-webkit-animation-name: actionsheet-up;
animation-name: actionsheet-up;
}
.actionsheet-down {
-webkit-animation-name: actionsheet-down;
animation-name: actionsheet-down;
}
@keyframes actionsheet-up {
from {
transform: translate3d(0, 100%, 0);
}
to {
transform: translate3d(0, 0, 0);
}
}
@keyframes actionsheet-down {
from {
transform: translate3d(0, 0, 0);
}
to {
transform: translate3d(0, 100%, 0);
}
}
隐藏取消按钮
此种形式下的组件效果等同于 Alert 警告提示组件。
方法
Confirm #
确认弹框组件的调用方法,调用以后在屏幕正中弹出一个Confirm,可以按照option对象参数调用,也可以使用简易
调用方式如 Confirm(content, title, btnText, animation, cancel, extraClass)
方法参数:
参数名 | 类型 | 描述 | 必选 | 支持版本 |
---|---|---|---|---|
option | Object | 配置对象,可以接受以下属性: | ||
option.content | String | Function | 组件显示的内容,支持字符串和 jsx(返回 jsx 的回调函数,`() => jsx`) | ||
option.title | String | 组件显示标题 | ||
option.btnText | Array | 按钮的文本,两个元素分别表示左/右按钮的文本 | 3.0.1 | |
option.animation | Object | 组件显隐过程的动画,格式同Dialog组件 | ||
option.cancel | Boolean | 组件是否有取消按钮 | ||
option.extraClass | String | 附加给组件根节点的额外className。 | 3.0.15 |
返回值: Promise 返回一个Promise实例对象