Невозможно вызвать метод метод - Bootstrap Treeview

Я использую Bootstrap Treeview в шаблонах Unify. Я получаю следующую ошибку:

bootstrap-treeview.js: 1212 Не инициализирован, не может вызвать метод: expandNode

когда я пытаюсь развернуть узел программно при обновлении страницы, чтобы сохранить развернутое состояние дерева.

 if (document.location.href.indexOf(hash) > -1) {


            var nodeId = $.cookie('activeAccordionGroup');

            if (nodeId != null) {
                $('#tree').treeview('expandNode', [nodeId ]);
            }
        }

Я получаю идентификатор узла в приведенном выше коде из файла cookie, который был создан при выборе узла. Я получаю ту же ошибку для всех методов, описанных в ссылке ниже:

https://github.com/jonmiles/bootstrap-treeview

1 ответ

Сегодня я устранял ту же ошибку, но вызвал другой метод: collapseAll; на загрузочном плагине treeview.

Только когда я применил что-то вроде следующего, метод treeview вел себя как ожидалось:

setTimeout(function() {
  $("#tree").treeview("collapseAll", { silent: true })
 }, 1000);

Я назвал выше только ПОСЛЕ того, как я изначально установил древовидную структуру внутри вызова ajax. Другими словами, я запускаю функцию treeview дважды в одной и той же функции успеха ajax.

Чтобы применить настройки древовидной структуры, заполните древовидную структуру данными и событиями соединения;

И второй раз, чтобы запустить метод в древовидной структуре (но с задержкой в ​​1 секунду). Я предполагаю, почему это работает таким образом, то, что вызовы метода treeview не могут задействовать treeview, пока он не будет полностью "инициализирован" (то есть полностью визуализирован).

Другие вопросы по тегам