Files
bsmall/node_modules/mini-ali-ui/es/guide/index.js
2020-09-24 11:08:03 +08:00

69 lines
1.8 KiB
JavaScript
Executable File

import fmtEvent from '../_util/fmtEvent';
Component({
props: {
btn_next: '下一步',
btn_jump: '跳过',
btn_over: '知道了',
hasJump: false,
show: false,
guideList: [],
onGuideOver: function onGuideOver() {},
maskClick: false
},
data: {
guideNumber: 1,
guideCurrent: 1,
guideLast: 1,
showGuideList: []
},
didMount: function didMount() {
var guideList = this.props.guideList;
this.setData({
guideNumber: guideList.length,
guideCurrent: guideList.length,
showGuideList: guideList[this.data.guideNumber - this.data.guideCurrent]
});
},
didUpdate: function didUpdate() {
var guideList = this.props.guideList;
if (this.data.guideCurrent - 1 >= 0) {
this.setData({
guideCurrent: this.data.guideCurrent,
showGuideList: guideList[this.data.guideNumber - this.data.guideCurrent]
});
}
},
methods: {
onBtnClick: function onBtnClick() {
if (this.data.guideCurrent > this.data.guideLast) {
this.setData({
guideCurrent: this.data.guideCurrent - 1
});
} else {
this.props.show = false;
}
},
onGuideClick: function onGuideClick(e) {
this.props.show = false;
var onGuideOver = this.props.onGuideOver;
if (onGuideOver !== '' && typeof onGuideOver === 'function') {
var event = fmtEvent(this.props, e);
onGuideOver(event);
}
},
onMaskTap: function onMaskTap(e) {
var maskClick = this.props.maskClick;
var event = fmtEvent(this.props, e);
if (maskClick === true) {
if (this.data.guideCurrent > this.data.guideLast) {
this.onBtnClick();
} else {
this.onGuideClick(event);
}
}
}
}
});