BaseMixin.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = void 0;
  7. var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
  8. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  9. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  10. var _vue = require("vue");
  11. var _propsUtil = require("./props-util");
  12. var _default = {
  13. methods: {
  14. setState: function setState() {
  15. var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  16. var callback = arguments.length > 1 ? arguments[1] : undefined;
  17. var newState = typeof state === 'function' ? state(this.$data, this.$props) : state;
  18. if (this.getDerivedStateFromProps) {
  19. var s = this.getDerivedStateFromProps((0, _propsUtil.getOptionProps)(this), (0, _objectSpread2.default)((0, _objectSpread2.default)({}, this.$data), newState));
  20. if (s === null) {
  21. return;
  22. } else {
  23. newState = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, newState), s || {});
  24. }
  25. }
  26. (0, _extends2.default)(this.$data, newState);
  27. if (this._.isMounted) {
  28. this.$forceUpdate();
  29. }
  30. (0, _vue.nextTick)(function () {
  31. callback && callback();
  32. });
  33. },
  34. __emit: function __emit() {
  35. // 直接调用事件,底层组件不需要vueTool记录events
  36. var args = [].slice.call(arguments, 0);
  37. var eventName = args[0];
  38. eventName = "on".concat(eventName[0].toUpperCase()).concat(eventName.substring(1));
  39. var event = this.$props[eventName] || this.$attrs[eventName];
  40. if (args.length && event) {
  41. if (Array.isArray(event)) {
  42. for (var i = 0, l = event.length; i < l; i++) {
  43. event[i].apply(event, (0, _toConsumableArray2.default)(args.slice(1)));
  44. }
  45. } else {
  46. event.apply(void 0, (0, _toConsumableArray2.default)(args.slice(1)));
  47. }
  48. }
  49. }
  50. }
  51. };
  52. exports.default = _default;