index.js 857 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. module.exports = {
  2. showZanTopTips(content = '', options = {}) {
  3. let zanTopTips = this.data.zanTopTips || {};
  4. // 如果已经有一个计时器在了,就清理掉先
  5. if (zanTopTips.timer) {
  6. clearTimeout(zanTopTips.timer);
  7. zanTopTips.timer = undefined;
  8. }
  9. if (typeof options === 'number') {
  10. options = {
  11. duration: options
  12. };
  13. }
  14. // options参数默认参数扩展
  15. options = Object.assign({
  16. duration: 3000
  17. }, options);
  18. // 设置定时器,定时关闭topTips
  19. let timer = setTimeout(() => {
  20. this.setData({
  21. 'zanTopTips.show': false,
  22. 'zanTopTips.timer': undefined
  23. });
  24. }, options.duration);
  25. // 展示出topTips
  26. this.setData({
  27. zanTopTips: {
  28. show: true,
  29. content,
  30. options,
  31. timer
  32. }
  33. });
  34. }
  35. };