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

一、前言

uni-app项目开发过程中,需要实现单选同意用户协议效果,但是交互方式采用多选,即点击-选中,点击-取消效果。 更改的时候需要注意以下几点:

  1. 因为uni-app默认组件是定义好了的,如果要修改可以找到组件所属css,也可以自行修改样式并覆盖原有样式。

  2. 选择自行修改的时候,一定在app.vue页面去引入更改的css或者直接在此页面进行修改,否则修改无效。

  3. 不要在style中增加scoped属性。

  4. 注意小程序中跟h5页面是略有不同的,如下官方语句

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

二、码上谈兵

CSS部分的实现如下:

css 复制代码
<style>
	.agreeTxt-left label {
		padding-right: 0;
		margin-right: 0 !important;
	}
	.agreeTxt-left.uni-data-checklist {
		flex: 0 1 auto;
	}
	.uni-data-checklist .checklist-group .checklist-box .checklist-content .checklist-text {
		font-size: 24rpx !important;
		color: #999 !important;
		margin-left: 10rpx !important;
		line-height: 24rpx !important;
	}
	
	.uni-data-checklist .checklist-group .checklist-box .checkbox__inner {
		border-radius: 7.5px !important;
		width: 15px !important;
		height: 15px !important;
	}
</style>

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

三、拓展阅读

相关推荐
codeGoogle8 小时前
自研 IM 还是选择第三方 SDK?企业开发者应该如何权衡?
前端·后端·程序员
用户938515635079 小时前
React Context 与自定义 Hook 从底层到实践:「跨层级通信 + 副作用封装」全解析
前端·javascript·react.js
滴滴答答哒9 小时前
VUE3+element-plus MultiSelect 多选下拉组件
前端·javascript·vue.js
其美杰布-富贵-李9 小时前
04 watch 与 Vue 响应式数据流
前端·javascript·vue.js
赵大仁11 小时前
生成式 UI 实战:用 JSON Schema + React 动态渲染 AI 界面
前端·ai·react·next.js·前端架构·生成式ui
kyriewen12 小时前
我排查了一个React内存泄漏——罪魁祸首是这3个被忽略的清理函数
前端·javascript·面试
IT_陈寒12 小时前
我又被JavaScript的隐式类型转换坑了
前端·人工智能·后端
其美杰布-富贵-李13 小时前
03 ref、reactive 与 computed 响应式数据
前端·javascript·vue.js
OpenTiny社区13 小时前
GenUI SDK v1.3.0 发布|多框架兼容,一键换物料,渲染器 & 演练场全面增强!
前端·ai编程
用户9385156350713 小时前
useRef + Web Worker 实战:React 如何优雅地拥抱多线程
前端·javascript·react.js