JsTree: Как поставить родителя root как #? - PullRequest
1 голос
/ 18 апреля 2019

У меня есть вложенный набор для моих категорий, заданный Майком Хиллиером.Я использую JSTree, и я следовал совету, приведенному здесь в SO: PHP. Преобразование вложенного набора в данные Я создал плоский формат, как и предлагалось, однако нет объяснения, как доставить Root с помощьюродитель #.У моего Root есть родительский элемент «null», поэтому колесо прогресса просто вращается и вращается, и я получаю сообщение об ошибке:

Uncaught TypeError: Невозможно прочитать свойство 'toString' из null

Документы JSTree также рекомендуют установить родительский элемент Root на #, но также не объясняют, как это сделать.Я попытался использовать метод AJAX, однако я не смог заставить его работать эффективно, так как дерево и страница должны загружаться вместе.Как мне заставить JsTree работать?

Итак, это все, что у меня есть:

Контроллер:

 public function jsTree(){   // THIS COMES OUT OF A LARAVEL MODEL. 
   $nodes = $this->category->orderByDepth();
   return view ('categories.jsTree',compact('nodes'));
}

Нижняя часть моего обзора:

 var jsNodes = <?php echo json_encode($nodes); ?>

         $(function () {
             $('#jstree').jstree({
                 "core": {
                     "themes": {
                         "variant": "large"
                     },
                    data:jsNodes
                 },
                 "plugins": ["checkbox"]
             });
         });
      });

Пример моего JSON измой журнал консоли:

0: {id: 1, text: "Root", parent: null}
1: {id: 22, text: "Materials", parent: "Root"}
2: {id: 42, text: "Roofing", parent: "Materials"}
3: {id: 48, text: "Hardware", parent: "Materials"}
4: {id: 43, text: "Services", parent: "Root"}

РЕДАКТИРОВАТЬ: Я снова попробовал маршрут Ajax, как указано Javascripting dot com , и я просто снова получил бесконечное вращающееся колесо,с тем же сообщением об ошибке.

...