Найти второго до последнего ребенка с ферментом - PullRequest
0 голосов
/ 25 марта 2020

Как искать второй до последнего дочерний узел, возвращаемый методом find () фермента? Последний дочерний элемент может быть найден с помощью .last (), но тот, что был до этого?

Я знаю, что он не возвращает массив, но я ожидал бы что-то вроде:

const elementsArray = wrapper.find('element');
const secondToLastElement = elementsArray.at(elementsArray.length - 1);

Заранее спасибо.

1 Ответ

0 голосов
/ 25 марта 2020

@ EIDuderino

В идеале, ваше решение должно также работать, вычитая 2 из общей длины, поскольку '.find' возвращает итеративный объект.

Ниже приведены обновления:

const elementsArray = wrapper.find('element');
const secondToLastElement = elementsArray.at(elementsArray.length - 
    2);

В качестве альтернативы я считаю, что мы можем использовать приведенное ниже решение, чтобы найти число, а затем использовать «.at», чтобы найти второй последний элемент. это не идеальное решение, но может помочь.

let totalElements = 0;
component.find('MyInnerComponent').forEach( (node) => { 
    totalElements++; });

как только у нас будет общее количество, мы можем использовать предложенный вами код.

Ниже приведены ссылки, которые могут помочь добавить к ответу

Реактивный фермент найти второй (или n-й) узел .

Я думаю, что в качестве альтернативы вы также можете использовать «.get», если это помогает сценарию , Тем не менее, я уверен, что вы уже ознакомились с документацией по энзимам, но поставили ссылку для ссылки на «.get» и «.at» соответственно.

Надеюсь, это поможет.

...