Я знаю, как запросить у пользователя его или ее имя пользователя с помощью всплывающего окна Vue-SweetAlert2.
<template>
<v-btn class="create-button" color="yellow" @click="alertDisplay">Create</v-btn>
<br/>
<p>Test result of createCustomer: {{ createdCustomer }}</p>
</div>
</template>
<script>
export default {
data() {
return {
createdCustomer: null
}
},
methods: {
alertDisplay() {
var customer = await this.$swal({
title: 'What is your Name?',
input: 'text',
inputPlaceholder: 'Enter your name here',
showCloseButton: true,
});
console.log(customer);
this.createdCustomer = customer;
}
}
}
</script>
С кодом, подобным приведенному выше, вы можете сохранить все, что пользователь ввел в созданный клиентом, и он должен отображаться на экране после ввода пользователем данных.
Но что еслиЯ хотел спросить пользователя о нескольких частях информации?Например, как запросить информацию типа
- "customerNumber" (также необходимо убедиться, что алфавиты и цифры объединены)
- "locale" (также необходимо убедиться, чточто ввод представляет собой набор вариантов, из которых пользователь выбирает, например, раскрывающееся меню, а не текстовое поле, в котором вы можете вводить все, что вам нравится)
- "firstName" (также необходимо убедиться, чтоимя не должно превышать 255 символов)
и т. д.
в одном всплывающем окне?
Я попытался установить несколько полей ввода, как показано ниже, но я получил предупреждение «Неизвестный параметр», и это, похоже, не является правильным способом.
var customer = await this.$swal({
title: 'Fill in your personal data',
input1: 'text',
input2: 'text',
input3: 'text',
inputPlaceholder: 'Enter your name here',
showCloseButton: true,
});
И как мне проверить, правильно ли введен пользователь (например, имя в пределах 255 символов, используются как алфавиты, так и цифры и т. Д.)?Если бы я использовал C или Java, я мог бы вообразить использование if-операторов вроде
if(length <= 255){
// proceed
} else {
// warn the user that the input is too long
}
где-нибудь в коде, но в этом случае я не знаю, как я могу сделать аналогичные if-операторывнутри всплывающего окна ...
[ДОПОЛНИТЕЛЬНЫЙ ВОПРОС]
Можно ли также передать объект, состоящий из нескольких более мелких элементов, например, "адрес"?
"address": {
"street": "string",
"city": "string",
"country": "USA",
"region": "string",
"zipCode": "string"
}