Я не уверен, что это не поддерживается или я просто еще не понял этого с помощью Ag-Grid-React.
Моя проблема: мне нужно, чтобы компонент кнопки отображался в каждой ячейке в столбце Удалить строку с onClick
и label
в качестве свойств. После нажатия кнопки мне нужно отправить действие Redux, которое удаляет текущую строку из данных моей таблицы.
Параметры столбца:
import Button from '../button';
import { deleteRow } from './actions';
import { reactCellRendererFactory } from 'ag-grid-react';
const columnDefs = [
{
headerName: 'Delete Row',
width: 100,
cellRenderer: reactCellRendererFactory(Button),
cellRendererParams: {
onClick: (row) => deleteRow(row.data.id),
backgroundColor: 'red',
label: 'Delete',
},
}, ...
Компонент кнопки:
import React, { PropTypes, PureComponent } from 'react';
import RaisedButton from 'material-ui/RaisedButton';
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
class Button extends PureComponent {
static propTypes = {
backgroundColor: PropTypes.string,
label: PropTypes.string,
labelColor: PropTypes.string,
onClick: PropTypes.func,
};
static defaultProps = {
backgroundColor: 'green',
label: 'Save',
labelColor: 'white',
};
render() {
return (
<MuiThemeProvider>
<RaisedButton
backgroundColor={this.props.backgroundColor}
label={this.props.label}
labelColor={this.props.labelColor}
onClick={this.props.onClick}
/>
</MuiThemeProvider>
);
}
}
export default Button;
Компонент Button
не реагирует на щелчки, несмотря на присвоение onClick
в cellRendererParams
, хотя у него есть доступ к this.props.label
и this.props.onClick
.
row
выглядит undefined
, поэтому как лучше всего получить данные выбранной строки в этом случае для обработчика onClick
?
Как лучше всего это сделать? Спасибо за любую помощь, которую вы можете оказать :)