index.js 822 B

123456789101112131415161718192021222324252627282930313233343536
  1. import { VantComponent } from '../common/component';
  2. import { RED, BLUE, GREEN } from '../common/color';
  3. var DEFAULT_COLOR = '#999';
  4. var COLOR_MAP = {
  5. danger: RED,
  6. primary: BLUE,
  7. success: GREEN
  8. };
  9. VantComponent({
  10. props: {
  11. size: String,
  12. type: String,
  13. mark: Boolean,
  14. color: String,
  15. plain: Boolean,
  16. round: Boolean,
  17. textColor: String
  18. },
  19. computed: {
  20. style: function style() {
  21. var color = this.data.color || COLOR_MAP[this.data.type] || DEFAULT_COLOR;
  22. var key = this.data.plain ? 'color' : 'background-color';
  23. var style = {
  24. [key]: color
  25. };
  26. if (this.data.textColor) {
  27. style.color = this.data.textColor;
  28. }
  29. return Object.keys(style).map(function (key) {
  30. return key + ": " + style[key];
  31. }).join(';');
  32. }
  33. }
  34. });