Форми Vue.js і прив’язка введення
Форми є ключовою частиною веб-додатків, що дозволяє користувачам вводити та надсилати дані. Vue.js спрощує роботу з формами та зв’язування введених даних, надаючи інтуїтивно зрозумілий спосіб керування введеними користувачами та синхронізуючи їх із даними програми. Ця стаття допоможе вам ознайомитися з основами роботи з формами та зв’язуванням вводу у Vue.js.
Основи зв'язування вхідних даних
У Vue.js двостороннє зв’язування даних для введення форм досягається за допомогою директиви v-model
. Ця директива прив’язує значення вхідного елемента до властивості даних, забезпечуючи відображення будь-яких змін у вхідних даних у даних і навпаки.
<template>
<div>
<input v-model="message" placeholder="Type something"/>
<p>Message: {{ message }}</p>
</div>
</template>
<script>
export default {
data() {
return {
message: ''
};
}
};
</script>
У цьому прикладі директива v-model
прив’язує значення поля введення до властивості даних message
. Будь-який текст, введений у поле введення, негайно відображається у властивості message
і відображається в абзаці.
Робота з різними типами введення
Директива v-model
працює з різними типами введення, включаючи текстові поля, прапорці, перемикачі та випадаючі списки. Ось як використовувати v-model
з різними типами введення:
- Введення тексту:
<input type="text" v-model="text" />
- Прапорець:
<input type="checkbox" v-model="checked" />
- Перемикачі:
<input type="radio" v-model="selected" value="option1" />
- Виберіть спадне меню:
<select v-model="selected"> <option value="option1">Option 1</option> </select>
Обробка подання форми
Щоб обробити надсилання форми, ви можете використовувати обробник подій @submit
для елемента <form>
. Ось простий приклад того, як надсилати форму у Vue.js:
<template>
<form @submit.prevent="submitForm">
<input v-model="username" placeholder="Enter your username"/>
<button type="submit">Submit</button>
</form>
</template>
<script>
export default {
data() {
return {
username: ''
};
},
methods: {
submitForm() {
alert('Form submitted with username: ' + this.username);
}
}
};
</script>
У цьому прикладі директива @submit.prevent
прослуховує подію надсилання форми та запобігає дії за умовчанням. Викликається метод submitForm
, який відображає сповіщення з поданим іменем користувача.
Використання перевірки форми
Перевірка введених даних форми є важливою частиною обробки форм. Хоча Vue.js не надає вбудованої перевірки, ви можете використовувати спеціальні методи або сторонні бібліотеки, як-от VeeValidate, для обробки перевірки. Ось базовий приклад того, як можна реалізувати простий метод перевірки:
<template>
<form @submit.prevent="validateForm">
<input v-model="email" placeholder="Enter your email"/>
<span v-if="!isEmailValid">Invalid email address</span>
<button type="submit">Submit</button>
</form>
</template>
<script>
export default {
data() {
return {
email: '',
isEmailValid: true
};
},
methods: {
validateForm() {
const emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
this.isEmailValid = emailPattern.test(this.email);
if (this.isEmailValid) {
alert('Form submitted with email: ' + this.email);
}
}
}
};
</script>
У цьому прикладі метод validateForm
перевіряє, чи адреса електронної пошти відповідає шаблону регулярного виразу. Якщо електронна адреса дійсна, вона надсилає форму; інакше відображається повідомлення про помилку.
Висновок
Розуміння форм Vue.js і зв’язування вхідних даних має вирішальне значення для створення інтерактивних веб-додатків, керованих даними. Використовуючи директиву v-model
і обробляючи надсилання форм, ви можете ефективно керувати введенням даних користувачами та створювати динамічні форми. За допомогою цих методів ви добре споряджені для виконання різноманітних завдань, пов’язаних із формами, у ваших програмах Vue.js.