TabDynamic.vue 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <template>
  2. <div class="app-page">
  3. <h2>动态更新页签</h2>
  4. <div class="form-item">
  5. <label>
  6. <p>修改页签标题</p>
  7. <input
  8. v-model="routeTab.title"
  9. type="text"
  10. >
  11. </label>
  12. </div>
  13. <div class="form-item">
  14. <label>
  15. <p>修改页签提示</p>
  16. <input
  17. v-model="routeTab.tips"
  18. type="text"
  19. >
  20. </label>
  21. </div>
  22. <div class="form-item tab-icons">
  23. <p>切换图标</p>
  24. <a
  25. v-for="icon in icons"
  26. :key="icon"
  27. class="tab-icon"
  28. :class="`${icon === routeTab.icon ? 'actived' : ''} ${icon}`"
  29. title="设置页签图标"
  30. @click="routeTab.icon = icon"
  31. />
  32. </div>
  33. </div>
  34. </template>
  35. <script>
  36. export default {
  37. data () {
  38. return {
  39. routeTab: {
  40. title: '动态更新页签',
  41. icon: 'rt-icon-log',
  42. tips: ''
  43. },
  44. icons: ['rt-icon-log', 'rt-icon-doc', 'rt-icon-contact']
  45. }
  46. }
  47. }
  48. </script>
  49. <style lang="scss" scoped>
  50. .form-item {
  51. margin-bottom: 1rem;
  52. p {
  53. margin: .5em 0;
  54. }
  55. }
  56. .tab-icons {
  57. a {
  58. margin-right: 1em;
  59. font-size: 20px;
  60. cursor: pointer;
  61. &.actived {
  62. color: $color;
  63. }
  64. }
  65. }
  66. </style>