Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript SAPUI5树表-节点扩展行为_Javascript_Sapui5_Treetable - Fatal编程技术网

Javascript SAPUI5树表-节点扩展行为

Javascript SAPUI5树表-节点扩展行为,javascript,sapui5,treetable,Javascript,Sapui5,Treetable,问题是: 当我在运行时添加行时,我试图使树表中的节点保持展开状态。树表的默认行为是,当发生某些事情时,它会再次渲染,并且所有节点都会折叠 API只提供了保持第一级扩展的方法,但我也喜欢保持较低级别节点的扩展。我怎样才能做到这一点 添加行之前: 添加行后: 期望: [编辑] 我已经尝试通过使用expand(iRowIndex)来获得正确的行为,但是在我的例子中,树表的生命周期(添加内容、重新命名)没有帮助 我在做什么: 我正在尝试使用拖放函数添加数据。当我们试图将内容添加到树表的特定位置时,

问题是:

当我在运行时添加行时,我试图使树表中的节点保持展开状态。树表的默认行为是,当发生某些事情时,它会再次渲染,并且所有节点都会折叠

API只提供了保持第一级扩展的方法,但我也喜欢保持较低级别节点的扩展。我怎样才能做到这一点

添加行之前:

添加行后:

期望:

[编辑]

我已经尝试通过使用expand(iRowIndex)来获得正确的行为,但是在我的例子中,树表的生命周期(添加内容、重新命名)没有帮助

我在做什么:

我正在尝试使用拖放函数添加数据。当我们试图将内容添加到树表的特定位置时,我们必须获得父元素和子元素的正确位置。不幸的是,在添加上述内容后,第二个+级别被隐藏,这会影响我的拖放操作,因为在折叠时,表行具有不同的ID


基本上,我需要一个树表函数,如所有其他级别的“setExpandFirstLevel(true)”。

这有点脏,但是您可以使用
TreeTable
expand(iRowIndex)
方法,在迭代每一行项目时调用它


编辑:我创建了一个工作示例(见下文),显示您不需要使用rowID或向DOM添加任何控件。拖放操作应该做的唯一一件事是仅使用模型将子节点添加到所选节点。
但实际上,
expand(rowIndex)
工作得非常好,所有可见的行都会立即展开(但请参见下面的NB2)

NB1:为了简单起见,我没有创建完整的拖放示例,但是单击“添加子节点”按钮应该模拟“拖放”事件

NB2:显然,
expand
方法中有一个bug:它只扩展可见的树项。滚动后的任何项目都不会展开

sap.ui.controller(“view1.initial”{
onInit:功能(oEvent){
var oModel=new sap.ui.model.json.JSONModel();
oModel.setData({
数据:[
{ 
名称:“node1”,
描述:“Lorem ipsum dolor sit amet”,
数据:[
{ 
名称:“节点1.1”,
描述:“从康格波苏尔出发的Cras pretium nisl ac”
},
{ 
名称:“节点1.2”,
描述:“奉献精英”,
数据:[
{ 
名称:“节点1.2.1”,
描述:“依普森直径测量仪”
}
]
},
{ 
名称:“节点1.3”,
描述:“Sed tristique diam non-imperdiet commodo”
},
{ 
名称:“节点1.4”,
描述:“奉献精英”,
数据:[
{ 
名称:“节点1.4.1”,
描述:“Maecenas accumsan ipsum diam”,
数据:[
{ 
名称:“节点1.4.1.1”,
描述:“Maecenas accumsan ipsum diam”,
数据:[
{ 
名称:“节点1.4.1.1.1”,
描述:“Maecenas accumsan ipsum diam”,
数据:[
{ 
名称:“节点1.4.1.1.1.1”,
描述:“依普森直径测量仪”
}
]
}
]
}
]
}
]
},
{ 
名称:“节点1.5”,
描述:“Sed tristique diam non-imperdiet commodo”
},
{ 
名称:“节点1.6”,
描述:“奉献精英”,
数据:[
{ 
名称:“节点1.6.1”,
描述:“依普森直径测量仪”
}
]
},
{ 
名称:“节点1.7”,
描述:“Sed tristique diam non-imperdiet commodo”
},
]
},
]
});
this.getView().setModel(oModel);
},
onAfterRendering:函数(){
这个;
},
addNode:函数(oEvent){
var oContext=oEvent.getSource().getBindingContext();
var obj=oContext.getObject();
var oNew={name:“新节点”,desc