Próbuję obsłużyć moją funkcję zaznacz wszystko, ale w tej chwili mam pewne problemy. Próbuję wypełnić obiekt wszystkimi polami wyboru. Czy ktoś może mi pomóc?
Oto moja funkcja do obsługi pojedynczego pola wyboru:
constructor(props) {
super(props);
this.state = { docList:{} }
handleCheckboxClick = (e) => {
let parsedVal = JSON.parse(e.target.value);
let newDocList = { ...this.state.docList };
if (e.target.checked) {
newDocList[parsedVal.documentId] = parsedVal.documentNumber;
} else {
delete newDocList[parsedVal.documentId];
}
this.setState({
docList: newDocList,
}, () => {
console.log(this.state.docList)
});
};
Render:
<MaterialTable options={{
showSelectAllCheckbox:false,
selection: true,
selectionProps: rowData => ({
onClick: (event , rowData) => this.handleCheckboxClick(event,rowData),
value: JSON.stringify({ documentId: rowData.documentId, documentNumber: rowData.documentNumber })
}),
A to jest uchwyt wybierz wszystko:
handleAllCheckboxes = (e) => {
if(e.target.value){
this.setState(state=> ({selected: state.data.map(rowData=> rowData.documentId)
}))
console.log(this.state.selected)
return;
}
this.setState({ selected: [] });
}
I renderowanie:
<Checkbox
onClick={this.handleAllCheckboxes}
indeterminate
/> Select All
0
PandaMastr
20 listopad 2019, 18:46
1 odpowiedź
Zawiera przykład zaznaczenia wszystkich lub odznaczenia wszystkich. Ewentualnie klikaj pojedynczo :) https://codesandbox.io/s/select-deselect-checkboxes-jugl2
-2
Darbley
20 listopad 2019, 21:08
Zapraszam do komentowania, dlaczego jest to kiepski przykład. Próbowałem tylko pomóc.
– Darbley
20 listopad 2019, 23:47
Nie próbowałem tego . I nie głosowałem na to negatywnie.
– PandaMastr
21 listopad 2019, 11:11
Bez smutków. Wszelkie opinie są mile widziane. Dziękuję Ci. Mam nadzieję, że Twoje pola wyboru działają!
– Darbley
21 listopad 2019, 22:23
Nie w tej chwili, ale wciąż próbuję.
– PandaMastr
21 listopad 2019, 22:26
Mój przykład może nie być twoim dokładnym rozwiązaniem. Chociaż może to pomóc Twojemu projektowi, patrząc na to, jak działa zaznaczanie wszystkiego / odznaczanie wszystkich.. Tylko myśl. Tak czy inaczej, wszystko dobrze.
– Darbley
21 listopad 2019, 22:38
console.log(this.state.uniqueIDS)
wewnątrzhandleAllCheckboxes
, otrzymam tablicę wszystkich dokumentów z mojej poprzedniej odpowiedzi od BE