Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   Vuetify v-select (https://javascript.ru/forum/library-toolkit-framework/80944-vuetify-v-select.html)

baysnoize 30.08.2020 17:57

Vuetify v-select
 
Вообщем может меня уже поплавило или я совсем глупый пишу форму для регистрации, первое что встречает пользователя это выпадающий список "Role" есть 2 типа регистрации, и после того как пользователей выбирает свою роль для него открываются поля для ввода, выглядит это примерно так
Собственно сама форма
<v-dialog class="reg" btn-text="Регистрация">
<v-app style="max-height: 90%" id="inspire">
<div>
<v-select
v-model="select"
:items="items"
item-text="role"
label="Role"
return-object
@change="chekRole();"
></v-select>
<div v-show="visibleCorp">
<v-text-field label="Название компании"></v-text-field>
<!-- :rules="rules" -->
<v-text-field
label="Количество работников"
hide-details="auto"
></v-text-field>
</div>
<div v-show="visibleGen">
<v-text-field label="Имя"></v-text-field>
<!-- :rules="rules" -->
<v-text-field label="Фамилия" hide-details="auto"></v-text-field>
</div>
</div>
</v-app>
</v-dialog>
Шаблон где оно появляется
<template id="dialog-template">
<div>
<div class="Dialog" v-show="active">
<div class="Dialog__overlay"></div>
<div class="Dialog__content">
<div class="Dialog__body">
<slot></slot>
</div>
<div class="Dialog__footer">
<button class="btn" @click="onCancel()">Отмена</button>
<button class="btn btn-ok" @click="onConfirm()">{{ btnText }}</button>
</div>
</div>
</div>
</div></template
>
Скрипт
<script>
Vue.component("v-dialog", {
template: "#dialog-template",
data: function () {
return {
active: false,
};
},
props: ["btnText"],
methods: {
open: function () {
this.active = true;
},
close: function () {
this.active = false;
},
onCancel: function () {
this.close();
},
onConfirm: function () {
this.close();
},
},
});

new Vue({
el: "#app",
vuetify: new Vuetify(),
data() {
return {
select: { role: "General" },
items: [{ role: "General" }, { role: "Corporate" }],
visibleGen: true,
visibleCorp: false,
};
rules: [
(value) => !!value || "Required.",
(value) => (value && value.length >= 6) || "Min 6 characters",
];
},
});
</script>
Посмотреть мой позор можно тут : https://baysnoize.github.io/TokenD/

baysnoize 31.08.2020 14:59

Уже не актуально, вообщем говорю проблема была в видимости не там создавал метод
new Vue({
methods: {
RegInputVisible: function () {
if (this.select == "General") {
this.show = !this.show;
} else {
this.show = !this.show;
}
},
},


<div v-if="show">
Поля 1
</div>
Поля 2
<div v-else>
</div>


Часовой пояс GMT +3, время: 09:56.