Производительность мудрая, я не знаю, является ли это лучшим решением. Но это работает.
Импортируйте приведенный ниже файл JavaScript в загрузочную версию приложения (или что-то в этом роде).
import Vue from 'vue';
Vue.mixin({
mounted() {
const e = this.$el;
if ('querySelector' in this.$el) {
const i = this.$el.querySelector('input[required]');
if (i !== null) {
const l = i.previousSibling;
if (l.querySelector('.required.sign') === null) {
const r = document.createElement('span');
// l.classList.add('required');
r.classList.add('required', 'sign');
r.appendChild(document.createTextNode('*'));
l.appendChild(r);
}
}
}
},
});
Nuxt.js: поместите указанный выше файл в папку plugins
. Включите его путь в массив plugins
в файле nuxt.config.js
.
Добавьте приведенное ниже правило в свою глобальную CSS / тему.
.v-label > .required.sign {
color: darkred;
font-weight: bold;
margin-left: .25em;
}