Материализация CSS не может программно открыть разборный элемент - PullRequest
0 голосов
/ 04 октября 2018

Попытка выполнить метод open() для определенного разборного элемента внутри DOM, вызывая следующую функцию:

vm.openCollapsible = function( projectName )
{

        // This element is the span that contains the project name
        var element = getElementsByText(projectName);
        // We want to reach out its parent which has collapsible as a class and
        // it's 3 elements upwards.
        //console.log(element[0].parentElement.parentElement.parentElement);
        var collapsible_element = element[0].parentElement.parentElement.parentElement;
        var instance = M.Collapsible.getInstance(collapsible_element);
        console.log(instance);
        instance.open(0);
}

Я уверен, что выбираю правильный элемент, потому что console.log(instance)возвращает мне действительный объект.

s {el: ul.collapsible.collapsible-accordion, $el: g(1), options: {…}, $headers: g(1), _handleCollapsibleClickBound: ƒ, …}
$el: g [ul.collapsible.collapsible-accordion]
$headers: g [div.collapsible-header.waves-effect.project-toolbar-box]
el: ul.collapsible.collapsible-accordion
options: {accordion: true, onOpenStart: undefined, onOpenEnd: undefined, onCloseStart: undefined, onCloseEnd: undefined, …}
_handleCollapsibleClickBound: ƒ ()
_handleCollapsibleKeydownBound: ƒ ()
__proto__: s

Есть идеи?

1 Ответ

0 голосов
/ 06 марта 2019

Используйте следующую команду, чтобы открыть требуемый сворачиваемый элемент: $ ('. Collapsible'). Collapsible ('open', 0);

0 указывает на индекс, вы должны изменить его соответствующим образом.

...