我有几个列表和一个Webix数据表。根据用例,数据表应该能够从列表中接收项目,但不能将其项目删除到这些列表中。
目前,数据表配置如下:
{
view:"datatable",
columns:[
{ id:"id" },
{ id:"value", width:200 },
{ id:"summary", fillspace:true },
{
id: "delete", header:" ",
template: "<icon class='webix_button webix_icon fa-trash delete'></icon>"
}
],
drag:true, // not enough
data:initialData,
onClick:{
delete: function(ev, id){
this.remove(id);
}
}
},
有没有办法防止从特定视图中删除? TIA
答案 0 :(得分:0)
您可以根据需要为 onBeforeDrag / Drop或onAfterDrag / Drop 编写自定义函数,从而限制从特定内容中删除 。 这是一个小例子,我测试视图ID是否为d2,然后由于返回false
而不会完成丢弃on:{
onBeforeDrop : function(context, ev){
if($$("myDragView").getChildViews()[1].config.id == "d2")
{
return false; //denies dropping if id == d2
}
return true;
}
}
对于您的情况,我已经阻止了列表中的丢弃,因此,您只能删除数据表。请查看代码段here。
注意: getChildViews() 会返回调用组件的所有子项的数组(索引从0开始)。