У меня есть dijit/Tree, подключенный к dijit/Tree/ObjectStoreModel, который, в свою очередь, подключен к dojo/store/Memory, заключенному в dojo/store/Observable — в основном, как в примере в документации dijit/tree.
В основном это работает нормально: я предварительно загружаю в магазин некоторые объекты и могу добавлять другие объекты с помощью store.add(item). Данные являются иерархическими, и это также работает, устанавливая родительское свойство для каждого элемента, добавленного в хранилище.
Однако я хочу иметь возможность указать, как следует упорядочивать родительские подэлементы. например если у меня есть элемент с идентификатором parent_1, и я добавляю два элемента (скажем, item_A, item_B), оба с родительским параметром parent_1, тогда я получаю:
родитель_1
пункт_А
элемент_B
Однако я хочу, чтобы item_B располагался выше item_A.
store.add поддерживает второй параметр: объект свойств, одно из которых — «до». Насколько я понимаю, когда вы устанавливаете «до» для другого объекта в магазине, он должен быть помещен перед ним. поэтому, когда я добавляю item_B, я использую:
var item_A = store.get("item_A");
var item_B = { id: "item_B", parent: "parent_1", ... };
store.add(item_B, { before: item_A });
Однако это не работает. item_B всегда просто добавляется в конец. Кто-нибудь знает, как это сделать? Спасибо!