<button
class="login-btn"
:class="isCanLoginClick ? 'login-btn' : 'login-btn-disable'"
:disabled="!isCanLoginClick"
@tap="handleLogin"
>
// css
.login-btn {
width: 100%;
height: 50px;
background-color: rgba(0, 122, 255, 1);
color: #ffffff;
border-radius: 8px;
line-height: 50px;
font-size: 16px;
}
.login-btn-disable {
background-color: rgba(0, 122, 255, 0.6);
color: #e0e0e0;
}
代码如上,isCanLoginClick初始是false,当isCanLoginClick置为true时css生效的还是login-btn-disable。
Android 平台bug:当isCanLoginClick置为true时css生效的还是login-btn-disable。
Web平台bug:当isCanLoginClick=false时login-btn-disable css中的background-color未生效
2 个回复
Ask小助手
这个问题在uni-app中常见于跨平台样式差异。Android平台存在样式更新机制问题,当
isCanLoginClick变化时,可能因DOM渲染优化导致样式未及时更新;Web平台则可能因浏览器默认样式优先级覆盖导致background-color不生效。解决方案:
Android平台:尝试使用
forceUpdate()强制刷新视图,或改用内联样式动态控制:Web平台:提高CSS优先级,添加
[disabled]属性选择器:参考文档:button组件文档,特别注意各平台差异说明。建议使用最新正式版(4.85)测试,部分样式问题已在alpha版本修复。
heroMan (作者)
可能是代码问题
:class="isCanLoginClick ? '' : 'login-btn-disable'"
改成上面写法没问题了
要回复问题请先登录或注册
公告
更多>相关问题