uHamkorДокументация
Руководство пользователя

Компоненты: поля формы

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

  • inputTypetext | email | password | number | tel | url
  • placeholder, 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}}" }

Необъявленное имя поля придёт на сервер пустым.