You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.4 KiB
59 lines
1.4 KiB
import { VantComponent } from '../common/component';
|
|
import { WHITE } from '../common/color';
|
|
VantComponent({
|
|
props: {
|
|
message: String,
|
|
background: String,
|
|
type: {
|
|
type: String,
|
|
value: 'danger'
|
|
},
|
|
color: {
|
|
type: String,
|
|
value: WHITE
|
|
},
|
|
duration: {
|
|
type: Number,
|
|
value: 3000
|
|
},
|
|
zIndex: {
|
|
type: Number,
|
|
value: 110
|
|
},
|
|
safeAreaInsetTop: {
|
|
type: Boolean,
|
|
value: false
|
|
}
|
|
},
|
|
created() {
|
|
const { statusBarHeight } = wx.getSystemInfoSync();
|
|
this.setData({ statusBarHeight });
|
|
},
|
|
methods: {
|
|
show() {
|
|
const { duration, onOpened } = this.data;
|
|
clearTimeout(this.timer);
|
|
this.setData({
|
|
show: true
|
|
}, onOpened);
|
|
if (duration > 0 && duration !== Infinity) {
|
|
this.timer = setTimeout(() => {
|
|
this.hide();
|
|
}, duration);
|
|
}
|
|
},
|
|
hide() {
|
|
const { onClose } = this.data;
|
|
clearTimeout(this.timer);
|
|
this.setData({
|
|
show: false
|
|
}, onClose);
|
|
},
|
|
onTap(event) {
|
|
const { onClick } = this.data;
|
|
if (onClick) {
|
|
onClick(event.detail);
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|