#vue.js #vuetify.js
#vue.js #vuetify.js
Вопрос:
Я читал о текстовых полях, но не могу понять.. Я хочу иметь возможность вводить имя и возраст, а затем, когда я нажимаю кнопку «добавить», я хочу иметь возможность видеть имя и возраст, отображаемые ниже. Какой самый простой или лучший способ сделать это?
Мой код:
<v-container>
<v-row>
<v-col cols="12" sm="6" md="3">
<v-text-field label="Name" solo></v-text-field>
</v-col>
<v-col cols="12" sm="6" md="3">
<v-text-field label="Age" solo></v-text-field>
</v-col>
<div class="addbutton">
<v-btn color="green darken-1" large v-on:click="add">Add</v-btn>
</div>
</v-row>
Ответ №1:
Сначала вы должны привязать входные данные к данным компонента с помощью v-model.
скрипт:
export default {
data(){
return {
name: null,
age: null
}
}
}
HTML:
<v-col cols="12" sm="6" md="3">
<v-text-field label="Name" solo v-model="name"></v-text-field>
</v-col>
<v-col cols="12" sm="6" md="3">
<v-text-field label="Age" solo v-model="age"></v-text-field>
</v-col>
Теперь вы можете отображать текущие входные значения: <p>{{ name ', ' age }}</p>
Если вы хотите показать / скрыть их с помощью кнопки, вы можете добавить свойство данных для хранения их состояния, создать метод для его переключения и привязать их видимость к свойству с помощью v-if:
скрипт:
export default {
data(){
return {
name: null,
age: null,
showValues: false
},
methods: {
toggle() {
this.showValues = !this.showValues
}
}
}
HTML:
<v-row>
<v-col cols="12" sm="6" md="3">
<v-text-field label="Name" solo v-model="name"></v-text-field>
</v-col>
<v-col cols="12" sm="6" md="3">
<v-text-field label="Age" solo v-model="age"></v-text-field>
</v-col>
<div class="addbutton">
<v-btn color="green darken-1" large @click="toogle">Add</v-btn>
</div>
<p v-if="showValues">{{ name ', ' age }}</p>
</v-row>
Комментарии:
1. спасибо, я пытался следовать вашему коду, но когда я нажимаю на кнопку Добавить, ничего не происходит. Что может вызвать это?
Ответ №2:
Сохраните переменные в данных вашего компонента vue и используйте их для визуализации
<v-row>
<v-col cols="12" sm="6" md="3">
<v-text-field label="Name" solo></v-text-field>
</v-col>
<v-col cols="12" sm="6" md="3">
<v-text-field label="Age" solo></v-text-field>
</v-col>
<div class="addbutton">
<v-btn color="green darken-1" large v-on:click="add">Add</v-btn>
</div>
<v-col cols="12" sm="6" md="3" v-if="render!==null">
<p>{{ render.name }}</p>
<p>{{ render.age }}</p>
</v-row>
<script>
export default {
data(){
return {
name:null,
age:null,
render:null,
},
methods(){
add(){
const name = this.name;
const age = this.age;
this.render = {
name,
age
}
},
}
}
</script>
Комментарии:
1. Есть идеи, почему я получаю эту ошибку: ‘;’ ожидается для методов () и add()?
2. Извините, добавьте запятую после значения возраста в данных