string
Используйте тег <string> , чтобы разместить в виджете поле ввода текстовой информации. Этот элемент аналогичен React.Component.
Доступные атрибуты:
Атрибут | Тип | Обязательно | Описание |
---|---|---|---|
class | String | Нет | Укажите название класса CSS, определенное в поле CSS виджета. |
model | String | Да | Укажите значение этого атрибута, чтобы привязать объект данных клиентского контроллера. При изменении данных в модели, они автоматически переносятся в клиентский контроллер. |
isMandatory | Boolean | Нет | Установите значение атрибута true, чтобы сделать поле обязательным. Значение по умолчанию: false. |
isVisible | Boolean | Нет | Установите значение false, чтобы скрыть тег. Значение по умолчанию: true. |
label | String | Нет | Добавьте заголовок, описывающий содержание поля. |
placeholder | String | Нет | Укажите подсказку для поля. |
readOnly | Boolean | Нет | Установите значение атрибута true, чтобы сделать поле доступным только для чтения. Значение по умолчанию: false. |
style | String | Нет | Настройте вид элементов тега (размер, шрифт, цвет и другое), используя синтаксис CSS. |
value | String | Нет | Укажите значение поля по умолчанию. |
fieldInfo | Object | Нет | Добавьте уточняющую информацию:
fieldInfo='{"help": "поясняющий текст!", "hint":"текст подсказки!"}' |
column_type | String | Нет | Укажите тип колонки. Поле принимает только данные, соответствующие выбранному типу. Значение по умолчанию: text. Возможные варианты:
|
Примеры:
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>
Шаблон из примера добавляет следующий элемент на страницу:
Client script
;
(() => {
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);
}
})();