45 lines
924 B
Java
45 lines
924 B
Java
const default_data = {
|
|
visible: false,
|
|
content: '',
|
|
duration: 2,
|
|
type: 'default', // default || success || warning || error
|
|
};
|
|
|
|
let timmer = null;
|
|
|
|
Component({
|
|
externalClasses: ['i-class'],
|
|
|
|
data: {
|
|
...default_data
|
|
},
|
|
|
|
methods: {
|
|
handleShow (options) {
|
|
const { type = 'default', duration = 2 } = options;
|
|
|
|
this.setData({
|
|
...options,
|
|
type,
|
|
duration,
|
|
visible: true
|
|
});
|
|
|
|
const d = this.data.duration * 1000;
|
|
|
|
if (timmer) clearTimeout(timmer);
|
|
if (d !== 0) {
|
|
timmer = setTimeout(() => {
|
|
this.handleHide();
|
|
timmer = null;
|
|
}, d);
|
|
}
|
|
},
|
|
|
|
handleHide () {
|
|
this.setData({
|
|
...default_data
|
|
});
|
|
}
|
|
}
|
|
}); |