问题描述
我刚刚尝试实现了材料表官方文档中提供的基本示例。 当我单击编辑并尝试更改任何字段数据时,变量和存储中的数据正在更新,但在我们单击保存并呈现页面后,它没有显示在屏幕上。任何人都可以请告知我在这里缺少什么? 代码如下:
function StringValidation() {
const [data,setData] = useState();
return (
<MaterialTable
title="String Validation Preview"
columns={[
{
title: 'Name',field: 'name',validate: rowData => rowData.name === '' ? 'Name cannot be empty' : '',},{ title: 'Surname',field: 'surname',validate: rowData => rowData.surname.length < 2 ? 'Surame must be have 3 chars' : '',{ title: 'Birth Year',field: 'birthYear',type: 'numeric',validate: rowData => rowData.birthYear < 1900 ? 'Birthyear must be after 1900' : '',{
title: 'Birth Place',field: 'birthCity',lookup: { 34: 'İstanbul',63: 'Şanlıurfa' },]}
data={[
{ name: 'Mehmet',surname: 'Baran',birthYear: 1987,birthCity: 63 },{ name: 'Zerya Betül',birthYear: 2017,birthCity: 34 },]}
editable={{
onRowAdd: newData =>
new Promise((resolve,reject) => {
setTimeout(() => {
setData([...data,newData]);
resolve();
},1000)
}),onRowUpdate: (newData,oldData) =>
new Promise((resolve,reject) => {
setTimeout(() => {
const dataUpdate = [...data];
const index = oldData.tableData.id;
dataUpdate[index] = newData;
setData(dataUpdate);
resolve();
},}}
/>
)
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)