Чтобы добавлять/удалять элементы, методы add() и remove() соответственно.
Эти методы работают для Chart, DataTable, List и DataView компонентов. Всё, что касается Tree и TreeTable вы найдёте в их документациях.
Добавление и удаление элементов осуществляется через события, которые срабатывают от действий пользователя. Обычно, это клик по кнопке с соответствующим ярлыком.
Базовый синтаксис выглядит следующим образом:
$$("myview").add({
id:"item_id", // добавляем элемент с двумя свойствами
property:"some_value"
});
$$("myview").remove("item_id"); // удаляем один элемент
$$("myview").remove(["idA","idB","idC","idD"]); // удаляем несколько элементов
Чтобы добавить элемент, который является введённой в форму строкой, вам необходимо получить эту строку из поля ввода и затем добавить данные в нужный компонент. При выполнении подобных операция используйте ID элемента. Это общее правило для всех методов и обработчиков событий.
У компонентов Form и HTMLForm разный код для полей ввода. Посмотрите на пример с Webix контролом text и стандартным HTML полем. Для каждого используются свои методы для получения значений:
Добавляем данные из JS формы
function addData(){
$$("data_1").add({
user:$$('form1').getValues().user,
email:$$('form1').getValues().email,
}, 0);
} // 'user' и 'mail' - ID соответствующих полей
Добавляем данные из [HtmlForm]
function addData() {
$$("data_2").add({
title: document.getElementById("title").value, // данные, которые ввёл пользователь
year: document.getElementById("year").value
},0)
}
Так как можно удалить только выбранные элементы, разрешите выбор элементов (select: true) при инициализации компонента. Перед удалением давайте проверим, выбран ли элемент с помощью блока if-else.
function removeData(){
if(!$$("data").getSelectedId()){ //'data' - ID необходимого элемента
webix.message("No item is selected!");
return;
}
$$("data").remove($$("data").getSelectedId());
};
Related sample: Adding/Removing Items
В режиме multiselect можно выбрать несколько элементов. Чтобы удалить все выбранные элементы используйте for-loop:
function remove_item(){
var list = $$('mylist');
var sel = list.getSelectedId(true);
if (!sel) return;
for (var i = 0; i < sel.length; i++)
list.remove(sel[i]);
};
Вы можете удалить все элементы с помощью следующей строчки кода:
$$("mylist").clearAll();
Метод clearAll принимает дополнительный boolean параметр, который позволяет сохранять некоторые свойства компонента. Например, x-scroll в datatable или url, который используется при динамической загрузке данных в компонент. Чтобы разрешить такое поведение, передайте true в метод clearAll():
$$("mylist").clearAll(true);
Описанные выше методы также работают для компонентов, связанных с базой данных. Подробнее о серверной интеграции читайте здесь.