当前位置:首页 > uni-app

uniapp 样式切换

2026-03-05 04:40:36uni-app

动态类名绑定

通过 :class 绑定动态类名,结合条件判断实现样式切换。在模板中使用三元表达式或对象语法控制类名生效与否。

<template>  
  <view :class="isActive ? 'active-style' : 'inactive-style'">内容</view>  
</template>  

或在脚本中定义计算属性:

uniapp 样式切换

computed: {  
  dynamicClass() {  
    return {  
      'active-style': this.isActive,  
      'disabled': !this.isValid  
    };  
  }  
}  

内联样式绑定

使用 :style 直接绑定动态样式对象,适用于需要实时计算的样式属性。

<view :style="{ color: textColor, fontSize: fontSize + 'px' }">动态样式</view>  

脚本中定义样式对象:

uniapp 样式切换

data() {  
  return {  
    styleObject: {  
      backgroundColor: 'red',  
      transform: `rotate(${angle}deg)`  
    }  
  };  
}  

条件渲染结合样式

通过 v-if/v-elsev-show 切换不同样式结构的元素,适合整体样式差异较大的场景。

<view v-if="theme === 'dark'" class="dark-theme">暗色主题</view>  
<view v-else class="light-theme">亮色主题</view>  

全局主题管理

利用 Vuex 或全局变量管理主题状态,通过 CSS 变量实现动态主题切换。

  1. 定义全局 CSS 变量:
    :root {  
    --primary-color: #007AFF;  
    --bg-color: #FFFFFF;  
    }  
    .dark-theme {  
    --primary-color: #0A84FF;  
    --bg-color: #1C1C1E;  
    }  
  2. 在组件中应用变量:
    <view class="container" :class="theme">  
    <text style="color: var(--primary-color)">文本</text>  
    </view>  
  3. 通过 JavaScript 切换主题类名:
    methods: {  
    switchTheme() {  
     this.theme = this.theme === 'dark-theme' ? '' : 'dark-theme';  
    }  
    }  

注意事项

  • 使用 rpx 单位确保多端样式兼容性。
  • 动态样式绑定可能影响渲染性能,避免频繁更新复杂样式。
  • 深色模式适配建议结合 uni.getSystemInfo() 获取系统主题设置。

标签: 样式uniapp
分享给朋友:

相关文章

uniapp开发

uniapp开发

uniapp开发简介 uniapp是一款基于Vue.js的跨平台开发框架,支持一次开发,多端部署。开发者可以通过编写一套代码,发布到iOS、Android、Web以及各种小程序平台(如微信、支付宝、百…

uniapp 推送

uniapp 推送

uniapp 推送实现方法 uniapp 推送功能可以通过多种方式实现,主要包括使用第三方推送服务、原生插件或云服务。以下是几种常见的实现方案: 使用 UniPush 服务 UniPush 是…

uniapp 消息推送

uniapp 消息推送

uniapp 消息推送实现方法 使用uniPush服务 uniapp官方提供了uniPush服务,支持iOS、Android及小程序平台的消息推送。需要在manifest.json中配置推送模块,并按…

uniapp实名认证

uniapp实名认证

uniapp实名认证实现方法 使用uniCloud实名认证插件 uniapp官方提供了uniCloud的实名认证插件,可快速集成到项目中。插件支持身份证识别、活体检测等功能,需在uniCloud控制台…

uniapp树形选择

uniapp树形选择

uniapp树形选择实现方法 使用uni-data-checkbox组件 uniapp内置的uni-data-checkbox组件支持树形结构选择,适用于多级分类场景。配置时需要将数据格式化为树形结构…

uniapp安装uview

uniapp安装uview

安装uView到UniApp项目 方法一:通过npm安装(推荐) 确保项目已初始化npm,在项目根目录执行以下命令: npm install uview-ui 在main.js文件中引入并注册…