1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
| import { WHITE } from '../common/color';
| const defaultOptions = {
| selector: '#van-notify',
| type: 'danger',
| message: '',
| background: '',
| duration: 3000,
| zIndex: 110,
| top: 0,
| color: WHITE,
| safeAreaInsetTop: false,
| onClick: () => {},
| onOpened: () => {},
| onClose: () => {},
| };
| function parseOptions(message) {
| return typeof message === 'string' ? { message } : message;
| }
| function getContext() {
| const pages = getCurrentPages();
| return pages[pages.length - 1];
| }
| export default function Notify(options) {
| options = Object.assign(
| Object.assign({}, defaultOptions),
| parseOptions(options)
| );
| const context = options.context || getContext();
| const notify = context.selectComponent(options.selector);
| delete options.context;
| delete options.selector;
| if (notify) {
| notify.setData(options);
| notify.show();
| return notify;
| }
| console.warn('未找到 van-notify 节点,请确认 selector 及 context 是否正确');
| }
| Notify.clear = function (options) {
| options = Object.assign(
| Object.assign({}, defaultOptions),
| parseOptions(options)
| );
| const context = options.context || getContext();
| const notify = context.selectComponent(options.selector);
| if (notify) {
| notify.hide();
| }
| };
|
|