跨平台应用开发进阶(二十) :uni-data-checkbox组件实现自定义样式及注意事项

x33g5p2x  于2022-06-13 转载在 其他  
字(0.9k)|赞(0)|评价(0)|浏览(772)

一、前言

uni-app项目开发过程中,需要实现单选同意用户协议效果,但是交互方式采用多选,即点击-选中,点击-取消效果。

更改的时候需要注意以下几点:

  1. 因为uni-app默认组件是定义好了的,如果要修改可以找到组件所属css,也可以自行修改样式并覆盖原有样式。
  2. 选择自行修改的时候,一定在app.vue页面去引入更改的css或者直接在此页面进行修改,否则修改无效。
  3. 不要在style中增加scoped属性。
  4. 注意小程序中跟h5页面是略有不同的,如下官方语句

关于第3点,“ 不要在style中增加scoped属性 ”尤为不解,本页面的样式控制本页面渲染视图样式,却不能使用scoped,存在污染其他页面样式的风险。

二、码上谈兵

CSS部分的实现如下:

  1. <style>
  2. .agreeTxt-left label {
  3. padding-right: 0;
  4. margin-right: 0 !important;
  5. }
  6. .agreeTxt-left.uni-data-checklist {
  7. flex: 0 1 auto;
  8. }
  9. .uni-data-checklist .checklist-group .checklist-box .checklist-content .checklist-text {
  10. font-size: 24rpx !important;
  11. color: #999 !important;
  12. margin-left: 10rpx !important;
  13. line-height: 24rpx !important;
  14. }
  15. .uni-data-checklist .checklist-group .checklist-box .checkbox__inner {
  16. border-radius: 7.5px !important;
  17. width: 15px !important;
  18. height: 15px !important;
  19. }
  20. </style>

上面说到关于注意到的第3点,“ 不要在style中增加scoped属性 ”存在污染其他页面样式的风险,所以在控制CSS样式的时候,根据样式作用范围,只将需要用到的样式控制为全局样式,其余样式做scoped处理,最大化减少样式污染的风险。

三、拓展阅读

相关文章