index.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. var component_1 = require("../common/component");
  4. component_1.VantComponent({
  5. props: {
  6. info: null,
  7. name: null,
  8. icon: String,
  9. dot: Boolean
  10. },
  11. relation: {
  12. name: 'tabbar',
  13. type: 'ancestor',
  14. current: 'tabbar-item',
  15. },
  16. data: {
  17. active: false
  18. },
  19. methods: {
  20. onClick: function () {
  21. if (this.parent) {
  22. this.parent.onChange(this);
  23. }
  24. this.$emit('click');
  25. },
  26. updateFromParent: function () {
  27. var parent = this.parent;
  28. if (!parent) {
  29. return;
  30. }
  31. var index = parent.children.indexOf(this);
  32. var parentData = parent.data;
  33. var data = this.data;
  34. var active = (data.name || index) === parentData.active;
  35. var patch = {};
  36. if (active !== data.active) {
  37. patch.active = active;
  38. }
  39. if (parentData.activeColor !== data.activeColor) {
  40. patch.activeColor = parentData.activeColor;
  41. }
  42. if (parentData.inactiveColor !== data.inactiveColor) {
  43. patch.inactiveColor = parentData.inactiveColor;
  44. }
  45. return Object.keys(patch).length > 0
  46. ? this.set(patch)
  47. : Promise.resolve();
  48. }
  49. }
  50. });