Компоненты: поля формы
Form, Input, Textarea, Select, Checkbox, RadioGroup, DatePicker и Slider — сбор данных в чате.
🧾 Компоненты: поля формы
Поля формы собирают данные у посетителя. У каждого поля есть name — введённое значение записывается в данные виджета под этим ключом и читается как {{name}}.
🔧 Общее для всех полей
name— обязательное. Ключ в данных.required— нельзя оставить пустым.disabled— выключенное состояние.onChangeAction— вызывает функцию при изменении значения.
📋 Form
Объединяет поля в одну отправку. Свойства контейнера (gap, padding …) тоже работают.
onSubmitAction— функция, запускаемая при отправке.
<Form gap={3} onSubmitAction={{ functionName: 'send_lead', loadingBehavior: 'container' }}>
<Label value="Имя" fieldName="name" />
<Input name="name" placeholder="Ваше имя" required />
<Label value="Email" fieldName="email" />
<Input name="email" inputType="email" required />
<Button label="Отправить" submit block />
</Form>⌨️ Input
inputType—text|email|password|number|tel|urlplaceholder,defaultValue,pattern,autoFocus
📝 Textarea
Многострочный текст. Дополнительно: rows, placeholder, defaultValue.
🔽 Select
options— список[{ label, value, disabled }].placeholder,defaultValue,block(во всю ширину).
<Select
name="plan"
options={[
{ label: "Pro", value: "pro" },
{ label: "Business", value: "business" }
]}
placeholder="Выберите тариф"
block
/>☑️ Checkbox
label, defaultChecked. Значение сохраняется как true/false.
🔘 RadioGroup
options, defaultValue, direction (row | col).
📅 DatePicker
placeholder, defaultValue, min, max. Дата хранится в формате YYYY-MM-DD.
🎚 Slider
min, max, step, defaultValue, label, showValue, minLabel, maxLabel.
🔐 Как введённые данные попадают на сервер
То, что вводит посетитель, существует только в браузере. Чтобы значения дошли до API, функция должна перечислить эти имена в дополнительных входах — сервер принимает только объявленные имена, остальное отбрасывает.
функция: send_lead (call_api)
дополнительные входы: name, email
inputs: { "name": "{{name}}", "email": "{{email}}" }Необъявленное имя поля придёт на сервер пустым.