Используйте тег <string>, чтобы разместить в виджете поле ввода текстовой информации. Этот элемент аналогичен React.Component.

Доступные атрибуты:

АтрибутТипОбязательныйОписание
classStringНетУкажите название класса CSS, определенное в поле CSS виджета.
isMandatoryBooleanНетУстановите значение атрибута true, чтобы сделать поле обязательным. Значение по умолчанию: false.
isVisibleBooleanНетУстановите значение атрибута false, чтобы скрыть тег. Значение по умолчанию: true.
labelStringНетДобавьте заголовок, описывающий содержание поля.
modelStringДаУкажите этот атрибут, чтобы привязать объект данных клиентского контроллера. При изменении данных модели они автоматически переносятся в данные клиентского контроллера.
placeholderStringНетУкажите подсказку для поля.

readOnly

BooleanНетУстановите значение атрибута true, чтобы сделать поле доступным только для чтения. Значение по умолчанию: false.
styleStringНетНастройте вид элементов тега (размер, шрифт, цвет и другое), используя синтаксис CSS.

value

StringНет

Укажите значение поля по умолчанию.

fieldInfo

ObjectНет

Добавьте уточняющую информацию:

  • help – знак вопроса справа от текста. Укажите текст, который появится при нажатии на вопрос. 
  • hint – подсказка, всплывающая при наведении указателя на заголовок.

Значения параметра fieldInfo c объектами help и hint:

fieldInfo='{"help": "поясняющий текст!", "hint":"текст подсказки!"}'

column_type

StringНет

Укажите тип колонки. Поле принимает только данные, соответствующие выбранному типу. Значение по умолчанию: text. Возможные варианты: 

  • text
  • integer
  • smallinteger
  • biginteger
  • float
  • decimal
  • percent_complete
  • password

Пример:

string
<h1>Общая информация</h1>
<string model="data.firstname" label="Имя" event-change="s_widget_custom.updateFullname();"></string>
<string model="data.lastname" label="Фамилия" event-change="s_widget_custom.updateFullname();"></string>

Шаблон из примера добавляет следующие элементы на страницу:

Пример клиентского скрипта
;
(() => {
  window.s_widget_custom.updateFullname = async function () {
    const firstname = s_widget.getFieldValue('firstname') || '';
    const lastname = s_widget.getFieldValue('lastname') || '';
    s_widget.setFieldValue('fullname', lastname + ' ' + firstname);
  } 
})();


  • No labels