需求原因:我在vue开发中,也会习惯使用各种UI库,但让人难受的是,提供的UI组件的样式难以覆盖,比如我要用的select,我的界面风格是深蓝色的,它的白色背景都不符合需求,要跑到element-plus的样式文件去修改。

=》之后,我想,这种简单的组件,我完全可以自己手写,好处可以让我更好的掌握select本身,消除不确定的部分。

=》以后,可以直接拿来当组件使用

下面就是自己修改出来的样式截图

<template> 
 <select v-model="selectId" class="select-box">
    <option v-for="item in options" :key="item.id" :value="item.id">
      {{ item.name }}
    </option>
  </select>
</template>

<script setup>
import {ref, reactive} from 'vue';

let selectId = ref(1);    //默认选择id为1的选项
let options = reactive([  //数据
  {
    id:1,
    name:"张三"
  },
  {
    id:2,
    name:"李四"
  },
  {
    id:3,
    name:"玄策"
  }
]);
</script>

<style scope lang="scss">
.select-box {
  width: 1.8rem; /*设置宽度确保内容 和 下拉icon的距离*/
  padding-top: 0.06rem;
  padding-bottom: 0.06rem;
  padding-left: 0.07rem;
  background: transparent;
  border: none;
  font-size: 0.15rem;
  font-family: Microsoft YaHei;
  font-weight: bold;
  color: #ffc000;
  /*清除select聚焦时候的边框颜色*/
  outline: none;
  option {
    background: #06175b;
    border: none;
  }
}
</style>

 

Logo

前往低代码交流专区

更多推荐