在Admin-on-rest框架中,客户端列表视图默认是不允许编辑记录的。但是,可以通过自定义列表视图组件来实现这一功能。以下是如何在Admin-on-rest客户端的列表视图中编辑'record'对象的方法:
以下是一个简单的示例,展示如何在Admin-on-rest的列表视图中添加编辑功能:
import * as React from 'react';
import { List, Datagrid, EditButton, TextField } from 'admin-on-rest';
const MyList = (props) => (
<List {...props}>
<Datagrid>
<TextField source="id" />
<TextField source="name" />
<EditButton basePath="/myresource" />
</Datagrid>
</List>
);
export default MyList;
在这个例子中,EditButton
组件被添加到了Datagrid
中,允许用户在列表视图中点击编辑按钮来编辑记录。
解决方法:可以使用自定义组件来实现内联编辑功能。
import * as React from 'react';
import { List, Datagrid, EditButton, TextField, TextInput } from 'admin-on-rest';
const InlineEdit = ({ record, resource, basePath, translate }) => (
<div>
<TextInput source="name" record={record} />
<button onClick={() => saveRecord(record)}>保存</button>
</div>
);
const MyList = (props) => (
<List {...props}>
<Datagrid>
<TextField source="id" />
<InlineEdit />
<EditButton basePath="/myresource" />
</Datagrid>
</List>
);
export default MyList;
在这个示例中,InlineEdit
组件会在列表项中显示输入框,允许用户直接编辑数据。需要实现saveRecord
函数来处理数据的保存逻辑。
通过上述方法,可以在Admin-on-rest的列表视图中实现记录的编辑功能,从而提升应用的用户体验和工作效率。
领取专属 10元无门槛券
手把手带您无忧上云