Я пытаюсь заставить IconText стать белым и оставаться белым всякий раз, когда внешний элемент div (MyComponent) имеет черный цвет; в противном случае IconText должен оставаться таким, каким является var(--COLOR_WINDOWTEXT). Это должен быть COLOR_WINDOWTEXT, потому что мы можем изменить тему всей программы, и переменная var(--COLOR_WINDOWTEXT) будет иметь разные значения в зависимости от этой темы.
Как временно перезаписать стиль а затем вернуть его обратно к внешней CSS-переменной?
{{ displayText }}
import baseComponent from '../BaseComponent/BaseComponent.vue'
import { defineComponent, PropType } from 'vue'
const MyStatusComponent = defineComponent({
name: 'MyStatusComponent',
extends: baseComponent,
props: {
//WIKI: The fully defined path name of the status variable, an empty string means no variable.
VARIABLE: { type: String, default: '' },
},
data() {
return {
varValue: undefined as string | undefined,
clrValue: undefined as string | undefined,
txtValue: undefined as string | undefined,
}
},
methods: {
tick() {
if (this.VARIABLE) {
const val = this.getVariable()
if (val) {
this.varValue = val.sValue() ?? ''
} else {
this.varValue = undefined
}
}
},
},
computed: {
displayText(): {
return 'text'
}
StatusClass(): string {
if (this.varValue !== undefined && this.varValue != "?") {
const data = JSON.parse(this.varValue);
this.clrValue = data.clr;
this.txtValue = data.txt;
switch (this.clrValue) {
case 'blue': return 'statusBlue'
case 'red': return 'statusRed'
case 'black': return 'statusBlack'
}
}
return 'statusGrey'
},
},
})
export default MyStatusComponent
.MyComponent {
color: v-bind(StatusClass);
}
.IconText {
color: var(--COLOR_WINDOWTEXT); /* ?? I need help understanding what needs to be overriding what here. */
font-size: var(--FONT_SIZE_LRG_TEXT);
}
.statusBlue {
background-color: var(--COLOR_STATUS_BLUE);
}
.statusRed {
background-color: var(--COLOR_STATUS_RED);
}
.statusBlack {
background-color: var(--COLOR_BLACK_TRUE);
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... -need-to-c
Как создать условный стиль для компонента Vue, если стили должны быть взяты из файла темы CSS? ⇐ CSS
Разбираемся в CSS
1733434562
Anonymous
Я пытаюсь заставить IconText стать белым и оставаться белым всякий раз, когда внешний элемент div (MyComponent) имеет черный цвет; в противном случае IconText должен оставаться таким, каким является var(--COLOR_WINDOWTEXT). Это должен быть COLOR_WINDOWTEXT, потому что мы можем изменить тему всей программы, и переменная var(--COLOR_WINDOWTEXT) будет иметь разные значения в зависимости от этой темы.
Как временно перезаписать стиль а затем вернуть его обратно к внешней CSS-переменной?
{{ displayText }}
import baseComponent from '../BaseComponent/BaseComponent.vue'
import { defineComponent, PropType } from 'vue'
const MyStatusComponent = defineComponent({
name: 'MyStatusComponent',
extends: baseComponent,
props: {
//WIKI: The fully defined path name of the status variable, an empty string means no variable.
VARIABLE: { type: String, default: '' },
},
data() {
return {
varValue: undefined as string | undefined,
clrValue: undefined as string | undefined,
txtValue: undefined as string | undefined,
}
},
methods: {
tick() {
if (this.VARIABLE) {
const val = this.getVariable()
if (val) {
this.varValue = val.sValue() ?? ''
} else {
this.varValue = undefined
}
}
},
},
computed: {
displayText(): {
return 'text'
}
StatusClass(): string {
if (this.varValue !== undefined && this.varValue != "?") {
const data = JSON.parse(this.varValue);
this.clrValue = data.clr;
this.txtValue = data.txt;
switch (this.clrValue) {
case 'blue': return 'statusBlue'
case 'red': return 'statusRed'
case 'black': return 'statusBlack'
}
}
return 'statusGrey'
},
},
})
export default MyStatusComponent
.MyComponent {
color: v-bind(StatusClass);
}
.IconText {
color: var(--COLOR_WINDOWTEXT); /* ?? I need help understanding what needs to be overriding what here. */
font-size: var(--FONT_SIZE_LRG_TEXT);
}
.statusBlue {
background-color: var(--COLOR_STATUS_BLUE);
}
.statusRed {
background-color: var(--COLOR_STATUS_RED);
}
.statusBlack {
background-color: var(--COLOR_BLACK_TRUE);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79256298/how-do-i-create-conditional-styling-on-a-vue-component-if-the-stylings-need-to-c[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия