index.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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. icon: String,
  8. dot: Boolean,
  9. name: {
  10. type: [String, Number]
  11. }
  12. },
  13. relation: {
  14. name: 'tabbar',
  15. type: 'ancestor'
  16. },
  17. data: {
  18. active: false
  19. },
  20. methods: {
  21. onClick: function () {
  22. if (this.parent) {
  23. this.parent.onChange(this);
  24. }
  25. this.$emit('click');
  26. },
  27. updateFromParent: function () {
  28. var parent = this.parent;
  29. if (!parent) {
  30. return;
  31. }
  32. var index = parent.children.indexOf(this);
  33. var parentData = parent.data;
  34. var data = this.data;
  35. var active = (data.name || index) === parentData.active;
  36. var patch = {};
  37. if (active !== data.active) {
  38. patch.active = active;
  39. }
  40. if (parentData.activeColor !== data.activeColor) {
  41. patch.activeColor = parentData.activeColor;
  42. }
  43. if (parentData.inactiveColor !== data.inactiveColor) {
  44. patch.inactiveColor = parentData.inactiveColor;
  45. }
  46. return Object.keys(patch).length > 0
  47. ? this.set(patch)
  48. : Promise.resolve();
  49. }
  50. }
  51. });