【问题标题】:react-admin: Edit form not prefilled with existing attributesreact-admin:编辑表单未预先填充现有属性
【发布时间】:2018-09-09 19:14:04
【问题描述】:

我最近发现了react-admin。一切似乎都很好,但我遇到了一个我找不到任何解决方案的问题:

编辑现有记录时,所有输入字段均为空。提交空表单时 - 所有属性都“无效”。

这是我的代码:

// src/users.js
export const UserEdit = (props) => (
  <Edit title="Edit User" {...props}>
    <SimpleForm>
      <DisabledInput label="Id" source="id" />
      <TextInput source="first_name" />
      <TextInput source="last_name" />
    </SimpleForm>
  </Edit>
);

// App.js
const restClient = jsonAPIRestClient("http://localhost:3000/admin");

const App = () => (
  <Admin dataProvider={restClient}>
    <Resource name="users" list={UserList} edit={UserEdit}/>
  </Admin>
);

对于数据适配器,我使用的是jsonAPIRestClient。记录全部存储在 redux 存储中并可用。

有什么有趣的地方:DisabledInput 的 ID 出现在表单中。

我错过了什么?

编辑:

package.json

{
  "name": "admin",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "aor-jsonapi-client": "^0.2.0",
    "prop-types": "^15.6.2",
    "react": "^16.5.0",
    "react-admin": "^2.3.0",
    "react-dom": "^16.5.0",
    "react-scripts": "1.1.5"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  }
}

编辑 2: 我刚刚发现,用户属性位于 ca 的编辑页面的输入字段中。 1/10 秒。然后这些字段被清除了?!

编辑 3: 以下是导致此 Bug 的 redux 操作:

RA/CRUD_GET_ONE_SUCCESS

所以我猜这里出了什么问题是数据提供者将获取的单个资源错误地存储在 redux 存储中。这是正确的吗?

编辑 4: 不幸的是,数据提供者似乎很糟糕。该存储库目前似乎未维护。有一个 PR 旨在解决这个问题。

https://github.com/moonlight-labs/aor-jsonapi-client/pull/6

【问题讨论】:

  • 您好,您使用的是什么版本的 react-admin?这可能是一个错误,但我可以帮助您解决问题。介意您尝试在此代码沙箱上重复您的问题,并给我链接吗? codesandbox.io/s/olr88y53xy
  • @Kmaschta 我更新了问题并添加了我的 package.json

标签: javascript reactjs react-admin


【解决方案1】:

问题是您使用的是aor-jsonapi-client,它是Admin-On-Rest 的客户端,它是React Admin 的旧版本。

为了解决您的问题,我建议为 React Admin 使用相关的数据提供程序,例如:

有关更多信息,请参阅 React Admin 上的 documentation about data providers

【讨论】:

【解决方案2】:

替代 jsonapi 客户端

我刚刚在这里找到了另一个工作的 react-admin jsonapi 客户端: https://github.com/henvo/ra-jsonapi-client

可以安装:

npm install ra-jsonapi-client

【讨论】:

    猜你喜欢
    • 2022-10-08
    • 2022-10-15
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    • 2013-03-08
    • 2011-11-15
    • 2016-06-23
    • 2015-08-26
    相关资源
    最近更新 更多