Использовать вложенные переменные при настройке темы Vuetify

#vue.js #material-design #vuetify.js #vue-cli-3

#vue.js #материал-дизайн #vuetify.js #vue-cli-3

Вопрос:

Я хочу использовать переменные --v-primary-link , --v-primary-text и --v-primary-disabled . Но Vuetify генерирует только --v-primary-base Возможно ли это с помощью кода, который написан ниже? Или есть какой-либо другой способ сделать это?

код из @plugins/vuetify.js

 light: {
  primary: {
    base: '#ffc844',
    text: '#303030',
    link: '#FFA844',
    disabled: '#AAAAAA',
  },
}
  

Ожидаемый результат: он также должен генерировать переменные --v-primary-link , --v-primary-text и --v-primary-disabled

Комментарии:

1. Почему вы хотите, чтобы переменные этого цвета были внутри основного? --v-secondary Нормально для вас? Если это так, я могу привести вам пример. На данный момент у вас есть варианты цвета (осветлить и затемнить)

Ответ №1:

Согласно документу Vuetify о тематизации CustomProperty здесь, существует ограниченный список переменных, которые вы можете перезаписать

 {
  base: string
  lighten5: string
  lighten4: string
  lighten3: string
  lighten2: string
  lighten1: string
  darken1: string
  darken2: string
  darken3: string
  darken4: string
}
  

Но вы можете создать свою собственную версию

 // src/plugins/vuetify.js

import Vue from 'vue'
import Vuetify from 'vuetify/lib'

export default new Vuetify({
  theme: {
    themes: {
      light: {
        primary: {
          base: '#ffc844',
          text: '#303030',
          link: '#FFA844',
          disabled: '#AAAAAA',
       },
      },
    },
    options: {
      customProperties: true,
    },
  },
})
  

И используйте это в своем CSS, как указано в документе vuetify

 <style scoped>
  .link {
    color: var(--v-primary-link);
  }
</style>
  

Комментарии:

1. Ваш ответ неверен . У нас не может быть объекта с пользовательскими именами свойств. customProperties: true, Означает, что у нас может быть пользовательское имя переменной на уровне, на котором вы определили primary цвет. Например, if предоставит поддержку для использования других имен переменных. Изначально ответ, который я задал, не имеет решения RN.

2. Действительно. Концепция моего ответа работает только с уже определенными свойствами в vuetify. Мой плохой