swtichTab.vue 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <template>
  2. <div class="swtich-Tab-wrapper">
  3. <div v-for="(item, index) in swtichText" @click="swtichClick(index)" :class="{active: swtichActive === index}">
  4. {{item}}
  5. </div>
  6. </div>
  7. </template>
  8. <script>
  9. export default {
  10. props: {
  11. swtichText: {
  12. type: Array,
  13. default: ['公司地址', '收货地址']
  14. }
  15. },
  16. data() {
  17. return {
  18. swtichActive: 0
  19. }
  20. },
  21. methods: {
  22. swtichClick(index) {
  23. this.swtichActive = index
  24. this.$emit('swtichClick', index)
  25. }
  26. }
  27. }
  28. </script>
  29. <style scoped type="text/scss" lang="scss">
  30. .swtich-Tab-wrapper {
  31. margin-top: 24px;
  32. position: relative;
  33. height: 35px;
  34. padding-left: 30px;
  35. margin-bottom: 24px;
  36. &::after {
  37. position: absolute;
  38. width: 100%;
  39. height: 1px;
  40. background: #0d5ffe;
  41. bottom: 0px;
  42. left: 0px;
  43. content: ' ';
  44. z-index: 2;
  45. }
  46. div {
  47. color: #999;
  48. background: #fff;
  49. border: 1px solid #999;
  50. padding: 0 14px;
  51. border-bottom: 0px;
  52. display: inline-block;
  53. height: 35px;
  54. line-height: 35px;
  55. margin-right: 10px;
  56. cursor: pointer;
  57. font-size: 14px;
  58. &:hover {
  59. color: #409EFF;
  60. border: 1px solid #0d5ffe;
  61. border-bottom: 1px solid #fff;
  62. }
  63. &.active {
  64. color: #409EFF;
  65. border: 1px solid #0d5ffe;
  66. border-bottom: 1px solid #fff;
  67. position: relative;
  68. z-index: 3
  69. }
  70. }
  71. }
  72. </style>