Работа с данными
Виджет Editor поддерживает динамическую работу с данными, включая обновление в реальном времени, валидацию и сохранение данных по инициативе пользователя. Разраб отчики могут настроить поведение виджета Editor в соответствии с требованиями своего приложения к согласованности данных и взаимодействию с пользователем.
Автоматическое сохранение данных при изменениях
Виджет Editor может запускать автоматическое сохранение данных при каждом изменении. Это удобно в сценариях, где периодическое взаимодействие с пользователем не гарантировано, или когда важно минимизировать ручные действия по сохранению.
import { Editor } from "@svar-ui/react-editor";
const items = [
// your editor item definitions
];
<Editor items={items} autoSave={true} />
Свойство autoSave со значением true обеспечивает автоматическое сохранение всех изменений, снижая необходимость явных действий по сохранению со стороны пользователя.
Отключение автосохранения и ручное сохранение пользователем
Виджет Editor поддерживает отключение автоматического сохранения, при котором пользователи должны явно сохранять свои изменения. Это идеально подходит для рабочих процессов, требующих подтверждения или проверки данных перед сохранением.
import { Editor } from "@svar-ui/react-editor";
const items = [
// your editor item definitions
];
<Editor items={items} autoSave={false} />
Установка autoSave в false отключает автоматическое сохранение, передавая пользователю контроль над тем, когда данные сохраняются.
Отслеживание изменений данных в Editor
Виджет Editor предоставляет подробную информацию об изменениях в данных. Это полезно для отслеживания правок, реализации пользовательской логики или выделения несохранённых изменений.
interface OnChangeResult {
key: string;
value: any;
update: Record<string, any>;
}
import { Editor } from "@svar-ui/react-editor";
const items = [
{ comp: "text", key: "name", label: "Name" },
{ comp: "textarea", key: "descr", label: "Description" },
{ comp: "checkbox", key: "admin", label: "Is Admin" }
];
function onChange(ev: OnChangeResult) {
console.log(`field ${ev.key} was changed to ${ev.value}`);
console.log("all not saved changes", ev.update);
}
<Editor items={items} onChange={onChange} />
Обработчик события onChange предоставляет ключ поля, его обновлённое значение и карту всех несохранённых изменений. Это позволяет детально отслеживать правки.