我目前正在使用angular-drag-and-drop-lists来生成 JsonDTO 对象。从 JSON 生成图形表示可以正常工作。通过拖放不同的元素来生成 JSON 也可以正常工作。我主要使用嵌套列表教程来设置初始列表并设置按钮以从中拖动新元素。但是,这仅在我尝试将 dnd-type 添加到 li-elements 并将 dnd-allowed-type 添加到 ul-elements 之前有效。使用这些类型是一项要求,因为我想用那个“编辑器”创建的 Json 中有一定的子元素层次结构。
在下面找到我如何实现它的一些代码片段。如果您需要更多信息,请告诉我。如果有人可以帮助我解决这个问题,我将不胜感激
我想在其中插入一些东西的列表:
<div class="form-group label-floating">
<label class="control-label" for="name">Name</label>
<input class="form-control" type="text" class="form-control" id="name" ng-model="models.questionnaire.name">
</div>
<ul dnd-list="models.questionnaire.pages"
dnd-allowed-types="models.allowedTypes.questionnaire">
<li ng-repeat="page in models.questionnaire.pages"
dnd-draggable="page"
dnd-type="page.type"
dnd-effect-allowed="move"
dnd-moved="models.questionnaire.pages.splice($index, 1)"
dnd-selected="models.selected = page"
ng-class="{'selected': models.selected === page}"
ng-include="'page.html'">
</li>
</ul>
用于拖动新页面的按钮:
<li dnd-draggable="{title: 'title', dndType: 'page', sections: []}"
dnd-effect-allowed="copy">
<button type="button" class="btn btn-default btn-lg" disabled="disabled">Page</button>
</li>