Я изучаю spfx dev. Я создаю форму с несколькими разными классами, чтобы узнать, как они могут взаимодействовать и передавать данные друг другу.
У меня два отдельных класса. Один родительский класс имеет кнопку отправки, которая использует состояние родителей для отправки в список SharePoint. Другой компонент класса имеет собственный набор состояний и полей. Я хочу, чтобы все, что пользователь вводит в дочерний компонент, было отправлено (!) Родительским классом.
Вот моя функция отправки:
private _onSubmit() {
this.setState({
FormStatus: 'Submitted',
SubmittedLblVis: true,
}, () => {
pnp.sp.web.lists.getByTitle("JobEvaluationItems").items.add({
JobTitle: this.state.JobTitle,
Faculty: this.state.Faculty,
Department: this.state.SelectedDept,
SubDepartment: this.state.SubDepartment,
DeptContactId: this.state.DeptContact,
FormStatus: this.state.FormStatus,
EvalType: this.state.EvalType,
JobTitReportTo: this.state.JobTitReportTo
}).then((iar: ItemAddResult) => {
let list = pnp.sp.web.lists.getByTitle("JobEvaluationItems");
list.items.getById(iar.data.Id).update({
JobRef: 'JE'+iar.data.Id
});
this.setState({
JobRef: iar.data.Id
});
});
});
}
Вот функция дочернего компонента, которая обрабатывает все, что вводится в поле:
private _onJobTitReportToChange = (ev: React.FormEvent<HTMLInputElement>, newValue?: string) => {
this.setState({
JobTitReportTo: newValue
});
}
Как передать вышеприведенную функцию состояния (которая содержится в дочернем компоненте) в родительский компонент?