Material ui 在rest上单击admin上的Edit按钮可获得一个对话框
我正在使用rest框架上的admin开发一个应用程序。为了编辑Material ui 在rest上单击admin上的Edit按钮可获得一个对话框,material-ui,admin-on-rest,Material Ui,Admin On Rest,我正在使用rest框架上的admin开发一个应用程序。为了编辑资源上的条目,我们提供了XXXEdit、XXXShow、XXXCreate道具。我的要求是,当我在列表视图中单击任何条目上的编辑按钮时,我应该得到一个对话框,其中包含XXXEdit中的参数,而不是转到新页面。我尝试使用XXXEdit组件中的对话框来实现这一点 <Edit title={<RoleTitle />} {...props}> <SimpleForm> <
资源上的条目
,我们提供了XXXEdit、XXXShow、XXXCreate道具。我的要求是,当我在列表视图中单击任何条目上的编辑按钮时,我应该得到一个对话框,其中包含XXXEdit中的参数,而不是转到新页面。我尝试使用XXXEdit组件中的对话框来实现这一点
<Edit title={<RoleTitle />} {...props}>
<SimpleForm>
<Dialog
title="Dialog With Actions"
actions={actions}
modal={false}
open={true}
>
<TextInput source="id" />
<TextInput source="name" validate={required} />
.
.//some more fields
</Dialog>
</SimpleForm>
</Edit>
.
.//还有一些字段
我遇到了一些错误,例如没有在redux表单中调用TextInput组件
如果使用DisabledInput,则会出现错误无法读取未定义的值
我该如何处理这个问题?我认为您不能使用Simpleform来处理这个问题。您需要使用Redux表单创建自定义表单。查看记录最终答案的底部答案
这可能对你有帮助
而不是创建一个页面。您正在创建一个连接到Redux状态并显示为对话框的组件 我试图用HOC和react路由器解决这个问题
我使用AOR按钮创建了一个按钮,并提供了一个containerElement
containerElement={
<Link
key={record.id}
to={{
...{
pathname: `${basePath}/${encodeURIComponent(record.id)}`
},
...{ state: { modal: true } }
}}
/>
}
最后是一个临时的
handleClose = () => {
this.props.history.goBack();
};
render() {
const actions = [
<FlatButton label="Cancel" primary={true} onClick={this.handleClose} />
];
return (
<Dialog>
<WrappedComponent/>
</Dialog>
)
handleClose = () => {
this.props.history.goBack();
};
render() {
const actions = [
<FlatButton label="Cancel" primary={true} onClick={this.handleClose} />
];
return (
<Dialog>
<WrappedComponent/>
</Dialog>
)
edit={DialogUserEdit}