У меня возникла ситуация, когда мне нужно выбрать все дочерние строки в Lightning:treeGrid, когда выбрана родительская строка, но Lightning:treeGrid не обеспечивает такого поведения, это ошибка? Как я могу достичь этого? введите здесь описание изображения

Поведение можно увидеть на картинке. Я выбрал родителя, но дочерний элемент все еще не выбран.

Код:

<lightning:treeGrid aura:id="ATree" columns="{!v.gridColumnsArt}" data="{!v.gridDataArt}" keyField="id"  onrowselection = "{!c.getSelectedName}"/>
1
rrc1709 3 Сен 2018 в 17:02
Я нигде не вижу в документации, что это должно работать OOTB, похоже, вам нужно установить код самостоятельно, чтобы выбрать всех дочерних элементов.
 – 
glls
3 Сен 2018 в 20:25

1 ответ

Это невозможно при стандартной функциональности компонента.

Что вы можете сделать для достижения своих требований, так это использовать событие onrowselection:

<lightning:treeGrid aura:id="ATree" columns="{!v.gridColumnsArt}" data="{!v.gridDataArt}" keyField="id"  onrowselection = "{!c.getSelectedName}"/>

А затем получить все выбранные строки:

getSelectedName: function(cmp, event, helper) {
    var selectedRows = event.getParam('selectedRows');

    for (var i = 0; i < selectedRows.length; i++){
        alert("You selected: " + JSON.stringify(selectedRows[i]));
    }        
},

Внутри этого цикла вы должны выбрать все дочерние узлы выбранного узла.

1
Itai Shmida 4 Сен 2018 в 13:23