Функции компонента UI![](anchor.svg)
Определяет свойства функций, объявленных UI-компонентом. Содержит поля, идентичные функциям модели, за исключением следующих полей:
Запрос. Функции запроса не поддерживаются UI-компонентом.
Драйверы и расширения. Компоненты UI не могут быть определены плагинами сервера.
Реализация Функций компонента![](anchor.svg)
Функции, определяемые UI компонентом, работают по тому же принципу, что и функции модели, и также могут быть вызваны из кода в свойстве UI компонента Источника.
Определение функции![](anchor.svg)
В группе Функции компонента определите функцию со следующими параметрами:
Поле | Значение |
---|---|
Название | exampleFunction |
Описание | Функция примера |
Входной формат |
|
Выходной формат |
|
Тип | Выражение |
Выражение расширенного поиска |
|
Эта функция принимает на вход таблицу данных с одной строкой и одним полем с именем "input", а на выходе возвращает таблицу данных с одной строкой и полем с именем "output".
Вызов функции из кода компонента![](anchor.svg)
Один из способов вызова функции в коде компонента - вызов функции callFunction(functionName, payload [, context])
из функционального компонента React, например:
const Компонент: React.FC<CustomWrappedComponentProps> = ({ component, componentModel, someVariable = "", myVariable }) => { ... const functionOutput = componentModel.callFunction("exampleFunction", [{input: "Текущее входное значение"}]) ... };
Аргументы в приведенном выше примере следующие:
"exampleFunction"
- Указывает на функцию exampleFunction, определенную ранее.[{input: "Это входное значение"}]
- таблица данных с одной строкой и полем с именем "input" со значением "Это входное значение".context
- Контекст оставлен пустым, так как функция находится в контексте компонента.
Выходом функции functionOutput
будет таблица данных [{output: "Входное значение было: Текущее входное значение"}]
.
Функция также может быть использована в определении функции React в классе Модель, как показано ниже:
class Модель extends AbstractWebComponent implements WebComponentМодель { ... callExampleFunction() { this.callFunction("exampleFunction", [{input: "Текущее входное значение"}]) } ... }
Затем callExampleFunction()
может быть использована в другом месте как функция, определенная в классе Модель