const [columns, setColums] = useState([
{title: "Number", field: 'itemNumber', editable: 'never'},
{title: "Description", field: 'itemDescription', editable: 'never'},
{title: "Amount", field: 'amount', editable:'always'},
]);
return (
<MaterialTable
title=""
columns={columns}
data={this.state.Items}
editable={{
onRowUpdate: (newData, oldData) =>
new Promise((resolve) => {
setTimeout(() => {
resolve();
this.onRowEditSave(newData);
}, 600);
}),
/>
)
在OnRoweditSave()我称之为静止服务,当我在colum中不使用可编辑时,它正在工作。
在第二个示例中,可以看到应该如何看待。
我得到错误:
typer“可编辑”的types不兼容。 不能分配'“从不” | “总是” | “ update” | “ Onadd” | ((columndef:column,rowdata:iresverdstockitem) =>布尔值)|未定义(iresvervedstockitem是this.state.items的数据架构)
这对我来说最终为我工作:
const never: | "always" | "onUpdate" | "onAdd" | "never" = "never"; const [columns, setColumns] = useState([ { title: 'Name', field: 'name' }, { title: 'Surname', field: 'surname' }, { title: 'Birth Year', field: 'birthYear', editable: never}, { title: 'Birth Place', field: 'birthCity', lookup: { 34: 'İstanbul', 63: 'Şanlıurfa' }, }, ]);
我排除的另一种类型,但我还不需要它:
((columnDef: Column<RowData>, rowData: RowData) => boolean);
希望这有助于并节省几个小时的人。
对于任何遇到相同问题的人:问题是打字稿,解决方案是在列中写入定义:
editable: 'never' as string
我知道这是解决的,但只是想添加一个更轻松的修复程序。当我的列数组贬低时,我将其键入为
Array
any