目录

微信小程序-Vant-dropdown-组件自定义样式

微信小程序 Vant dropdown 组件自定义样式

微信小程序 Vant dropdown 组件自定义样式

  • 很普通地使用了 van-dropdown-menuvan-dropdown-item 组件
  • 但如下图所示,默认 vant 组件样式有问题,无法融入背景色。
  • https://i-blog.csdnimg.cn/blog_migrate/fe1a811c5aa6cbfe87f49a7059745c98.png
<van-dropdown-menu active-color="#1989fa">
	<van-dropdown-item value="{{ value }}" options="{{ option }}" bind:change="onChange" />
</van-dropdown-menu>

解决方案

  • 添加 custom-class 字段
  <van-dropdown-menu active-color="#1989fa" custom-class="dropdown">
    <van-dropdown-item value="{{ value }}" options="{{ option }}" bind:change="onChange" />
  </van-dropdown-menu>
  • .wxss 文件中添加对应的 .dropdown 样式
.dropdown {
 margin-right: 5px;
 --dropdown-menu-background-color: #2E75B6;
 --dropdown-menu-title-text-color: #ffffff;
}
  • 完成
  • https://i-blog.csdnimg.cn/blog_migrate/ae32cba2f3b38990bc6c29aab6c2751f.png

原理

  • 首先看 miniprogram_npm\@vant\weapp\dropdown-menu\index.wxml
  • https://i-blog.csdnimg.cn/blog_migrate/32c3a1c031ff27f30b52d176b7c1b8b9.png
  • 这里预留了一个用户自定义样式类
  • 查看 miniprogram_npm\@vant\weapp\dropdown-menu\index.wxss
  • https://i-blog.csdnimg.cn/blog_migrate/052b03b2ec9560b82b53373a5cf79885.png
  • 用户能够自定义的属性都在这里了
  • https://i-blog.csdnimg.cn/blog_migrate/f26ac0f2180b1deb21f7889ad79b2edc.png
  • (dropdown 类名是可以自定义的)