【Quasar】暗黑主题随系统切换部分组件无法随系统切换

问题描述

Quasar部分组件无法随系统切换主题 。

假如系统、Quasar主题为白天模式。Quasar设置主题随系统切换,当系统切换暗黑模式时,Quasar导航栏无法正常切换为暗黑模式,此时背景还是白天模式,如图
在这里插入图片描述

正常切换参考图

正常暗黑主题
在这里插入图片描述

随系统切换主题失败参考图

如下图,设置主题随系统切换
网页顶部没有成功切换为暗黑模式
在这里插入图片描述

解决问题

  1. pinia定义主题状态
  2. watch监听quarsar是否为暗黑模式

src/stores/themeStore.js

src/stores/themeStore.js

import { defineStore } from 'pinia'
import {setCssVar,Dark
} from 'quasar'
import { watch } from 'vue'const theme = defineStore('theme', {state: () => ({  dark: false,// 暗黑主题 activeDark: false,//当前为暗色主题themeAutoSys: false,// 随系统主题  }),getters: {// 导航栏色toolBarColor(state) {return state.activeDark === true ? "bg-dark" : "bg-grey-11 text-black"}},actions: {  // 设置暗黑主题setDark() {Dark.toggle()this.activeDark = Dark.isActive},// 设置主题跟随系统setThemeAutoSys() {if (this.themeAutoSys) {Dark.set('auto')} else {Dark.set(this.dark)this.activeDark = this.dark}}}
})// 监听主题切换,这里的主要作用当quarsar主题模式设置为auto(主题随系统变化)时,根据系统主题变化而变化,解决不会出现部分组件无法随系统主题变化而变化
watch(() => Dark.isActive,(val) => {if (Dark.mode === 'auto') {const themeStore = theme()themeStore.activeDark = val}}
);export {theme
}

src/views/App.vue

src/views/App.vue

<template><q-toolbar :class="themeStore.toolBarColor">加图这里很多html</q-toolbar><q-toggle:disable="themeStore.themeAutoSys"@update:model-value="themeStore.setDark()"keep-colorcolor="primary"denselabel='暗黑模式'v-model="themeStore.dark"icon="brightness_3"unchecked-icon="wb_sunny"/><q-togglecolor="primary"keep-color:disable="themeStore.dark"denselabel='跟随系统'v-model="themeStore.themeAutoSys"@update:model-value="themeStore.setThemeAutoSys()"icon="check"unchecked-icon="clear"/>
</template><script setup>
import { theme } from "./stores/themeStore";const themeStore = theme();
</script>

解决效果图

暗黑模式

在这里插入图片描述

白天模式

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/203678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文章解读与仿真程序复现思路——中国电机工程学报EI\CSCD\北大核心《计及管网选型与潮流约束的区域综合能源系统分期协同规划》

这个标题涉及到区域综合能源系统的规划&#xff0c;其中考虑了两个关键因素&#xff1a;管网选型和潮流约束。下面对标题中的关键术语进行解读&#xff1a; 区域综合能源系统&#xff1a; 这指的是一个综合考虑多种能源形式&#xff08;比如电力、热能、气体等&#xff09;的系…

挑选数据可视化工具:图表类型、交互功能与数据安全

作为一名数据分析师&#xff0c;我经常需要使用各种数据可视化工具来将数据以直观、清晰的方式呈现出来&#xff0c;以便更好地理解和分析。在市面上的众多可视化工具中&#xff0c;我根据实际需求和项目特点进行选择。本文将从以下几个角度对市面上的数据可视化工具进行对比&a…

Python高级数据结构——B树和B+树

Python中的B树和B树&#xff1a;高级数据结构解析 B树和B树是一种多叉树&#xff0c;常用于处理大量数据的存储和检索操作。它们广泛应用于文件系统、数据库索引等领域&#xff0c;具有高效的插入、删除和搜索性能。在本文中&#xff0c;我们将深入讲解Python中的B树和B树&…

C++类和对象——(8)类的组合

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 人生就像骑单车&#xff0c;想保持平衡…

PHP入门软件Wampserver与vscode

PHP入门软件Wampserver与vscode Wampserver 一个集成的PHP环境&#xff0c;非常好用&#xff0c;上链接官网&#xff1a;https://www.wampserver.com/#download-wrapper 推荐华军https://www.onlinedown.net/soft/82112.htm 无脑下一步就行&#xff0c;会出现两个弹窗全点否。…

OMSA无法打开无法显示等服务异常时如何处理

文章目录 为何需要重启OMSAWindows 重启OMSA服务Linux 重启OMSA服务VMware 环境重启OMSA服务重启无效的解决办法推荐阅读 为何需要重启OMSA 在安装 OMSA 的服务器中&#xff0c;OMSA 管理软件运行可能会不稳定。例如&#xff1a; 某些信息&#xff08;如存储信息&#xff09;…

Redis quicklist源码+listpack源码(6.0+以上版本)

ziplist设计上的问题&#xff0c;每一次增删改都需要计算前面元素的空间和长度&#xff08;prevlen&#xff09;&#xff0c;这种设计缺陷非常明显&#xff0c;一旦其中一个entry发生修改&#xff0c;以这个entry后面开始&#xff0c;全部需要重新计算prevlen&#xff0c;因此诞…

nodejs+vue+微信小程序+python+PHP新闻发布系统的设计与实现-计算机毕业设计推荐

根据现实需要&#xff0c;此系统我们设计出一下功能&#xff0c;主要有以下功能模板。 &#xff08;1&#xff09;新闻发布系统前台&#xff1a;首页、时事新闻、公告资讯、个人中心。 &#xff08;2&#xff09;管理员功能&#xff1a;首页、个人中心、用户管理、新闻分类管理…

Open3D 进阶(19)间接平差法拟合平面

目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 见:PCL 间接平差法拟合平面 二、代码实现 import numpy as np import open3d

24:kotlin 类和对象 -- 对象表达式和声明(Object expressions and declarations)

如果需要创建一个稍微修改了某个类的对象&#xff0c;而不需要显式地声明一个新的子类。Kotlin可以通过对象表达式&#xff08;object expressions&#xff09;和对象声明&#xff08;object declarations&#xff09;来处理这种情况。 对象表达式 对象表达式用于创建匿名类的…

中国移动频段划分

1、900MHz&#xff08;Band8&#xff09;上行&#xff1a;889-904MHz&#xff0c;下行&#xff1a;934-949MHz&#xff0c;带宽共计15MHz&#xff0c;目前部署&#xff1a;2G/NB-IoT/4G 2、1800MHz&#xff08;Band3&#xff09;上行&#xff1a;1710-1735MHz&#xff0c;下行…

kyuubi整合flink yarn application model

目录 概述配置flink 配置kyuubi 配置kyuubi-defaults.confkyuubi-env.shhive 验证启动kyuubibeeline 连接使用hive catalogsql测试 结束 概述 flink 版本 1.17.1、kyuubi 1.8.0、hive 3.1.3、paimon 0.5 整合过程中&#xff0c;需要注意对应的版本。 注意以上版本 姊妹篇 k…

机器学习之蛙跳算法(Jumping Frog Optimization,JFO)

概念 蛙跳算法(Jumping Frog Optimization,JFO)是一种基于仿生学和自然界觅食行为的启发式优化算法。该算法模拟了青蛙在寻找食物时的跳跃行为。青蛙通过一系列跳跃来寻找最优位置,而这些跳跃的长度和方向是通过计算当前位置的适应度值来确定的。 蛙跳算法的基本步骤: …

AXURE地图获取方法

AXURE地图截取地址 https://axhub.im/maps/ 1、点击上方地图或筛选所需地区的地图&#xff0c;点击复制到 Axure 按钮&#xff0c;到 Axure 粘贴就可以了 2、复制到 Axure 后&#xff0c;转化为 svg 图形&#xff0c;就可以随意更改尺寸/颜色/边框&#xff0c;具体操作如下&am…

微型5G网关如何满足智能巡检机器人应用

在规模庞大、设施复杂的炼化厂、钢铁厂、工业园区等大型、巨型区域&#xff0c;时刻需要对各类设施设备巡查监测&#xff0c;保障生产运行安全可控。传统的人工巡检存在着心态松懈、工作低效、工作强度高、工作环境恶劣等问题&#xff0c;仍然存在安全隐患。 而随着物联网、5G、…

【Flink on k8s】- 6 - Flink 核心特性

目录 1、系统架构 1.1 Flink api 抽象 1.2 数据流图 1.1.1、流式计算引擎逻辑视角与物理视角

稀疏矩阵的操作(数据结构实训)

题目&#xff1a; 标准输入输出 题目描述&#xff1a; 稀疏矩阵可以采用三元组存储。 输入&#xff1a; 输入包含若干个测试用例&#xff0c;每个测试用例的第一行为两个正整数m,n(1<m,n<100),表示矩阵的行数和列数,接下来m行&#xff0c;每行n个整数&#xff0c;表示稀疏…

[NEO解题报告]《Leetcode》1423. 可获得的最大点数 - Rust/C++

文章目录 思路解题方法复杂度CodeRust代码rust 用例 C 代码 Problem: 1423. 可获得的最大点数 思路 两种算法都可以&#xff1a; 方法1&#xff1a; 直接计算&#xff0c; 首尾各自往中间记录两个前缀和&#xff0c; 然后单次遍历 从前面取i个和后面取 k-i 个的和&#xff0c; …

Linux设备树

一、起源 减少垃圾代码 减轻驱动开发工作量 驱动代码和设备信息分离 参考Open Fireware设计 用来记录硬件平台中各种硬件设备的属性信息 二、基本组成 两种源文件&#xff1a; xxxxx.dts dts是device tree source的缩写xxxxx.dtsi dtsi是device tree source include的缩…

HarmonyOS4.0从零开始的开发教程08构建列表页面

HarmonyOS&#xff08;六&#xff09;构建列表页面 List组件和Grid组件的使用 简介 在我们常用的手机应用中&#xff0c;经常会见到一些数据列表&#xff0c;如设置页面、通讯录、商品列表等。下图中两个页面都包含列表&#xff0c;“首页”页面中包含两个网格布局&#xff…