loginBox.vue 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <template>
  2. <div class="main">
  3. <ul class="tab-container">
  4. <li @click="changeTab(item.id)" v-for="item,index in tabList" :key="index" :class="{'active':item.id===selectedTab}">{{item.label}}</li>
  5. </ul>
  6. <div class="tab-item-container">
  7. <div
  8. v-if="selectedTab==='phone'"
  9. class="tab-item">
  10. <el-input placeholder="请输入内容" v-model="input5" class="input-with-select">
  11. <el-select v-model="select" slot="prepend" placeholder="请选择">
  12. <el-option label="餐厅名" value="1"></el-option>
  13. <el-option label="订单号" value="2"></el-option>
  14. <el-option label="用户电话" value="3"></el-option>
  15. </el-select>
  16. <el-button slot="append" icon="el-icon-search"></el-button>
  17. </el-input>
  18. </div>
  19. </div>
  20. </div>
  21. </template>
  22. <script>
  23. export default {
  24. name: "loginBox",
  25. data(){
  26. return{
  27. selectedTab:'phone',
  28. tabList: {
  29. 'phone': {
  30. id: 'phone',
  31. label: '手机'
  32. },
  33. 'email': {
  34. id: 'email',
  35. label: '邮箱'
  36. },
  37. }
  38. }
  39. }
  40. ,
  41. methods:{
  42. changeTab(id){
  43. this.selectedTab=id;
  44. }
  45. }
  46. }
  47. </script>
  48. <style scoped lang="less">
  49. @import "../assets/less/_variable.less";
  50. .main{
  51. width: 100%;
  52. height: 100%;
  53. padding: 25px;
  54. & .tab-container{
  55. box-sizing: border-box;
  56. border-bottom: solid 2px #e5e5e5;
  57. display:inline-flex;
  58. justify-content: space-around;
  59. width: 100%;
  60. &>li{
  61. transition: border-bottom-color 0.25s ease;
  62. cursor: pointer;
  63. margin-bottom: -2px;
  64. box-sizing: border-box;
  65. &.active{
  66. border-bottom: 2px solid @primaryBlue;
  67. }
  68. padding: 0 30px 20px;
  69. font-size: 20px;
  70. color: @lightBlack;
  71. }
  72. }
  73. & .tab-item-container{
  74. margin-top: 30px;
  75. }
  76. }
  77. </style>
  78. <style lang="less">
  79. @import "../assets/less/_variable.less";
  80. .el-input *{
  81. transition: border-color .2s cubic-bezier(.645,.045,.355,1);
  82. border-radius: 0!important;
  83. }
  84. .el-input:focus-within{
  85. & *{
  86. border-color: @primaryBlue;
  87. }
  88. }
  89. .el-input__inner:focus{
  90. /*border: 0;*/
  91. border-color: @primaryBlue;
  92. }
  93. </style>