custom-navigator.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. "use strict";
  2. var utils = require('../../api/utils');
  3. var processDataSet = require('../utils/processDataSet');
  4. Component({
  5. data: {},
  6. props: {
  7. hoverClass: 'navigator-hover',
  8. hoverStartTime: 50,
  9. hoverStayTime: 600,
  10. url: '',
  11. className: '',
  12. openType: '',
  13. path: ''
  14. },
  15. didMount: function didMount() {
  16. this.props.appId && utils.warn( // `支付宝navigator组件不支持 appId 属性!`
  17. '请修改对应支付宝小程序id');
  18. },
  19. methods: {
  20. navHandler: function navHandler(e) {
  21. var _this = this;
  22. // 支付宝navigator不支持ontap事件
  23. var tapEvent = processDataSet(e, this.props);
  24. this.props.onTap && this.props.onTap(tapEvent);
  25. if (this.props.appId && this.props.appId.toString()) {
  26. my.navigateToMiniProgram({
  27. appId: this.props.appId.toString(),
  28. path: this.props.path,
  29. extraData: this.props.extraData || {},
  30. success: function success(res) {
  31. _this.props.onSuccess && _this.props.onSuccess(res);
  32. },
  33. fail: function fail(res) {
  34. _this.props.onFail && _this.props.onFail(res);
  35. },
  36. complete: function complete(res) {
  37. _this.props.onComplete && _this.props.onComplete(res);
  38. }
  39. });
  40. }
  41. }
  42. }
  43. });