mgt-people не refre sh в дочернем компоненте при обновлении идентификаторов пользователя из родительского компонента - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть компонент React, который имеет mgt-people и mgt-people-picker, который берет реквизит от его родительского компонента. Идея состоит в том, чтобы обновить mgt-people, выбрав людей из mgt-people-picker, но это не работает. Он обновился просто <div>{props.users}</div>, так что я думаю, что это может быть проблема с компонентом mgt? Я также попытался сделать users локальным состоянием в дочернем компоненте, но он также не работал.

Мой упрощенный код такой, как показано ниже. Все переменные users имеют тип string[]

parent:

function updateUsers(newUsers) {
    setState({ users: newUsers });
}

render:
<ChildComponent users={this.state.users} updateUsers={this.updateUsers} />

child:

function updateUsers() {
    props.updateUsers(newPeople);
}

peoplePicker.addEventListener('selectionChanged', updateUsers);
peoplePicker.selectUsersById(props.users);

render:
<div>{props.users}</div>
<mgt-people user-ids={props.users}></mgt-people>
<mgt-people-picker></mgt-people-picker>

1 Ответ

0 голосов
/ 08 апреля 2020

Чтобы завершить этот вопрос, эта проблема была недавно решена с выпуском 1.2 Microsoft Graph Toolkit. Компонент people теперь будет обновляться при изменении свойства user-ids

...