Проблема, с которой я столкнулся, заключается в том, что динамически добавленные условия не сохраняются после того, как пользователь нажимает «Готово» в диалоговом окне узла. Когда я развертываю поток и повторно открываю узел, ранее установленные условия теряются, даже если я пытаюсь сохранить их в функции oneditsave.
Вот упрощенная версия моего кода:< /p>
Код: Выделить всё
RED.nodes.registerType('condition-task', {
category: 'function',
color: '#a6bbcf',
defaults: {
name: { value: "" },
conditions: [] // Empty array for dynamic conditions
},
inputs: 1,
outputs: 3,
icon: "file.svg",
label: function () {
return this.name || "condition-task";
},
oneditprepare: function () {
const conditionList = $("#node-input-conditions");
conditionList.empty(); // Clear any existing conditions
// Populate the conditions from the saved configuration (if any)
this.conditions.forEach(condition => {
conditionList.append(createConditionRow(condition));
});
// Add new condition row
$("#add-condition").on("click", function () {
conditionList.append(createConditionRow());
});
},
oneditsave: function () {
const conditions = [];
$("#node-input-conditions li").each(function () {
const property = $(this).find(".condition-property").val();
const operator = $(this).find(".condition-operator").val();
const parameter = $(this).find(".condition-parameter").val();
conditions.push({ property, operator, parameter });
});
this.conditions = conditions; // Save to node config
}
});
Код: Выделить всё
[i][/i] Name
[i]
[/i] Conditions
[list]
[*]
name
age
==
!=
[i]
[/list]
[/i] Add Condition
После динамического добавления условий и установки значений для свойства, оператора и параметра условия не сохраняются, когда я нажимаю «Готово». " в диалоговом окне редактирования узла.
Когда я развертываю поток и повторно открываю узел, все ранее установленные условия теряются. Это происходит, хотя я пытаюсь сохранить условия с помощью функции oneditsave.
Цель состоит в том, чтобы сохранить все динамически добавляемые условия (свойство, оператор и параметр) и гарантировать их сохранение после развертывания и повторного открытия узла.Что я пробовал:
Я использовал функцию oneditsave, чтобы собрать условия и сохранить их в конфигурации узла, но изменения не сохраняются.
Я пытался заполнить условия. динамически когда диалоговое окно редактирования узла открыто, но ранее добавленные условия не отображаются после развертывания.
Ожидаемое поведение:
Динамически добавленные условия (свойство, оператор и параметр) должны сохраняться, когда пользователь нажимает «Готово» в диалоговом окне редактирования узла, и сохраняться после развертывания и повторного открытия узла.
Подробнее здесь: https://stackoverflow.com/questions/793 ... n-node-red