uni-badge.vue 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <template>
  2. <text v-if="text" :class="inverted ? 'uni-badge-' + type + ' uni-badge--' + size + ' uni-badge-inverted' : 'uni-badge-' + type + ' uni-badge--' + size" class="uni-badge" @click="onClick()">{{ text }}</text>
  3. </template>
  4. <script>
  5. export default {
  6. name: 'UniBadge',
  7. props: {
  8. type: {
  9. type: String,
  10. default: 'default'
  11. },
  12. inverted: {
  13. type: Boolean,
  14. default: false
  15. },
  16. text: {
  17. type: [String, Number],
  18. default: ''
  19. },
  20. size: { // small.normal
  21. type: String,
  22. default: 'normal'
  23. }
  24. },
  25. methods: {
  26. onClick() {
  27. this.$emit('click')
  28. }
  29. }
  30. }
  31. </script>
  32. <style>
  33. @charset "UTF-8";
  34. .uni-badge {
  35. font-family: 'Helvetica Neue', Helvetica, sans-serif;
  36. box-sizing: border-box;
  37. font-size: 12px;
  38. line-height: 1;
  39. display: inline-block;
  40. padding: 3px 6px;
  41. color: #333;
  42. border-radius: 100px;
  43. background-color: #f1f1f1
  44. }
  45. .uni-badge.uni-badge-inverted {
  46. padding: 0 5px 0 0;
  47. color: #999;
  48. background-color: transparent
  49. }
  50. .uni-badge-primary {
  51. color: #fff;
  52. background-color: #007aff
  53. }
  54. .uni-badge-primary.uni-badge-inverted {
  55. color: #007aff;
  56. background-color: transparent
  57. }
  58. .uni-badge-success {
  59. color: #fff;
  60. background-color: #4cd964
  61. }
  62. .uni-badge-success.uni-badge-inverted {
  63. color: #4cd964;
  64. background-color: transparent
  65. }
  66. .uni-badge-warning {
  67. color: #fff;
  68. background-color: #f0ad4e
  69. }
  70. .uni-badge-warning.uni-badge-inverted {
  71. color: #f0ad4e;
  72. background-color: transparent
  73. }
  74. .uni-badge-error {
  75. color: #fff;
  76. background-color: #dd524d
  77. }
  78. .uni-badge-error.uni-badge-inverted {
  79. color: #dd524d;
  80. background-color: transparent
  81. }
  82. .uni-badge--small {
  83. transform: scale(.8);
  84. transform-origin: center center
  85. }
  86. </style>