Использование React 16.9.0 и ag-grid-реаги и сообщества 21.2.1: я пытаюсь использовать gridOptions вместо указания атрибутов на самой сетке, но если я использую gridOptions, мой компонент не будет повторно отображаться при включениииз сеттеров называется.noRowsSelected
используется для отключения кнопок при значении true.Таким образом, только если флажок в строке установлен, noRowsSelected
должно быть ложным, и кнопки не будут отключены.
Этот код работает.
const [noRowsSelected, setNoRowsSelected] = useState(true);
const columnDefs = [
{
checkboxSelection: true,
headerCheckboxSelection: true,
headerCheckboxSelectionFilteredOnly: true,
suppressMovable: true,
suppressFilter: true,
suppressSorting: true,
width: 50
}
]
return(
<AgGridReact
.
.
.
onSelectionChanged={params => {
if (noRowsSelected){
setNoRowsSelected(false);
} else if (!params.api.getSelectedNodes().length){
setNoRowsSelected(true);
}
}}
.
.
. />
)
Но этот код не-отобразить мой компонент:
const gridOptions = {
.
.
.
onSelectionChanged(params) {
if (noRowsSelected){
setNoRowsSelected(false);
} else if (!params.api.getSelectedNodes().length){
setNoRowsSelected(true);
}
},
.
.
.
}
return(
<AgGridReact gridOptions={gridOptions} />
)
Приведенный выше код меняет мои кнопки с отключенных, когда установлен первый флажок (повторно отображает мой компонент, потому что мой useEffect вызывается).Но любые проверки или новые проверки не выполняются повторно.
Я знаю, что ag-grid создает свой собственный компонент, и я думаю, что gridOptions просто не дает вам возможности обновлять другие компоненты с помощью функций.