如果看到上面的图片,则用户可以选择添加项目或删除项目。
您可以删除一个项目(它可以是父项或子项)。如果要删除父项,则相应的子项也应删除。如果您删除最后一个Item(Tile3),则只能删除该项目。
下面是我尝试使用..
的代码XML ::
<Tree items="{path : 'selModel>/',parameters: { numberOfExpandedLevels: 4}}" toggleOpenState="expandCollapseTree" id="Tree" class="sapUiTinyMarginTop tilesClass selTree">
<dragDropConfig>
<dnd:DragDropInfo sourceAggregation="items" targetAggregation="items" dragStart="onDragStart" drop="onDrop"/>
</dragDropConfig>
<CustomTreeItem id="treeItem" detailPress="pressCustomTreeItem">
<VBox class="customSelTile" id="customSelTile">
<HBox>
<HBox width="100%">
<VBox visible="{= ${selModel>enabled} ? false: true }" class="sapUiTinyMarginTop customTxts">
<Label class="sapUiSmallMarginBegin headTxtFont" text="{selModel>text}"/>
<Label class="sapUiSmallMarginBegin subHeadTxtFont" text="{selModel>subheader}"/>
</VBox>
<VBox visible="{selModel>enabled}" class="sapUiTinyMarginTop customTxts">
<Input class="sapUiSmallMarginBegin headTxtFont" value="{selModel>text}"/>
<Input class="sapUiSmallMarginBegin subHeadTxtFont" value="{selModel>subheader}"/>
</VBox>
</HBox>
<Button class="sapUiTinyMarginBegin sapUiTinyMarginTop" press="addTile" icon="sap-icon://add"/>
<Button class="sapUiTinyMarginBegin sapUiTinyMarginTop sapUiTinyMarginEnd" press="removeTile" icon="sap-icon://less"/>
</HBox>
</VBox>
</CustomTreeItem>
</Tree>
控制器::
removeTile: function (oEvt) {
var _oItem = oEvt.getSource().getParent().getParent().getParent();
var _sBindingPath = _oItem.getBindingContextPath();
var _oModel = this.getView().getModel("selModel");
var aData = _oModel.getProperty(_sBindingPath);
}
在aData中无法获取选定的对象数据。但是,如何删除所选对象并再次在模型中形成更新的JSON数据?
有人可以帮助我解决任何问题吗?
先谢谢您。
答案 0 :(得分:0)
使用以下代码解决了该问题...
MultiValueMap<String, String> headers = new LinkedMultiValueMap<String, String>();
headers.add("Authorization", AuthToken);
headers.add("Content-Type", "application/json");
MultiValueMap<String, String> body = new LinkedMultiValueMap<String, String>();
body.add("channel", channel);
body.add("text", text);
HttpEntity<?> request = new HttpEntity<>(body, headers);
restTemplate.postForObject(postMessageUrl, request, String.class);