5

私のアプリケーションでは、Angular ui-tree を使用しました。

ここで、コードの下で使用した新しいノードを追加します

 <button class="btn btn-info btn-circle btn-sm" type="button" ng-click='x.tasks.push({task: "New Task",depth:"2", tasks:[]})' style="margin-top:15px" data-nodrag><i class="fa fa-plus"></i></button>

 <script type="text/ng-template" id="nodes_renderer.html">
                            <div ui-tree-handle class="tree-node tree-node-content">

                                <div style="width:100%">
                                    <div style="width:87%;display: inline-block">
                                        <a class="" style="color:#c1c1c1" data-nodrag ng-click="toggle(this)"><span class="fa" ng-class="{'fa-plus': collapsed, 'fa-minus': !collapsed}"></span>
                                            <span class="label label-info"><i class="fa fa-tasks"></i></span> </a>
                                            <span style="width:80%;word-wrap: break-word" class="remove-editable-click cursor-pointer" editable-text="node.task" buttons="no" e-ng-model="WBSData.task" e-ng-blur="changeFieldEdit(this)" e-required data-nodrag e-style="border:1px solid #DDDDDD;width:90px">
                                               {{node.task}}
                                            </span>
                                    </div>
                                    <div style="width:10%;display: inline-block">
                                        <input icheck type="checkbox" ng-model="node.WBSDataSelectedTask" checklist-value="node.task" style="float:right" value="none">
                                    </div>

                                </div>
                            </div>
                            <ol ui-tree-nodes="" ng-model="node.subtasks" ng-class="{hidden: collapsed}">
                                <li ng-repeat="node in node.subtasks" ui-tree-node ng-include="'nodes_renderer1.html'">
                                </li>
                            </ol>
                        </script>
                        <div ui-tree="treeOptions" id="tree-root">

                            <ol ui-tree-nodes ng-model="x.tasks">
                                <li ng-repeat="node in x.tasks" ui-tree-node ng-include="'nodes_renderer.html'"></li>
                            </ol>
                        </div>

ボタンをクリックすると、ノードが追加されますが、一番下にノードが追加されます。それを一番上に追加する必要があります。どうすればよいですか?

4

1 に答える 1

4

x.task.push配列の末尾にアイテムを追加します。そこは変えなきゃいけないところ

ng-click='x.tasks.push({task: "New Task",depth:"2", tasks:[]})'

unshift代わりに使用してください。

ng-click='x.tasks.unshift({task: "New Task",depth:"2", tasks:[]})'

参考までに: JavaScript で配列の先頭に新しい配列要素を追加するにはどうすればよいですか?

于 2016-09-17T07:16:57.770 に答える