标签: react-admin

多对多关系 react-admin

我试着在表明Datagrid一个Field是一个多对多的关系(中间表)。

我有这些表:

组 - group_subject - 主题

  • 一个小组可以有很多科目
  • 一个主题可以连接多个组

group_subject 也有属性,如评分细则和日程表

这是一个多对多的关系。我想在<Resource> group一个组所连接的所有主题中显示。

使用类似<SingleFieldList>: 作为这个图像

我正在使用react-admin. 有没有办法在这种关系中获得价值?

admin-on-rest react-admin

5
推荐指数
1
解决办法
3108
查看次数

如何获取 SimpleFormIterator 的索引

我想访问 simpleFormIterator 的索引。我怎样才能做到这一点?我有一个类似的代码,我试图在 SelectInput 组件中访问它

<ArrayInput source='services'>
    <SimpleFormIterator>
        <TextInput source='id' label="Service Name" validate={this.RequiredAndRegex} />
        <FormDataConsumer>
            {({ formData, ...rest }) => 
                <ArrayInput source='parametervalues'>
                    <SimpleFormIterator>
                        <TextInput source='id' label="Parameter Values" validate={this.RequiredAndRegex} />
                        <SelectInput label="Paramater Type"
                            source="id"
                            choices={this.getParameters(formData.services[index].servicetype)}
                            optionText={optionRenderer}
                            optionValue="id" />
                    </SimpleFormIterator>
                </ArrayInput>
            }
        </FormDataConsumer>
    </SimpleFormIterator>
</ArrayInput>
Run Code Online (Sandbox Code Playgroud)

admin-on-rest react-admin

5
推荐指数
1
解决办法
1896
查看次数

在react-admin中成功验证后如何重定向到其他路由

我一直在寻找一种解决方案,在react-admin中成功验证后重定向到特定的url,

当我粘贴http://localhost:1234/#/students/sdf2343afs32到网址上时(如果已登录),我将获得用户详细信息页面,但如果未登录,则在登录后会显示主页

react-admin

5
推荐指数
1
解决办法
6046
查看次数

React-admin 登录页面中的更多字段

我需要在登录页面中再插入一个字段,因此,在 JSON 登录请求中插入另一个条目,尽管我设法在登录页面中插入该字段(作为带有FormControls 的Select字段),但在插入时遇到了麻烦将所选选项添加到 JSON 请求中。

login.js:

import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { propTypes, reduxForm, Field } from 'redux-form';
import { connect } from 'react-redux';
import compose from 'recompose/compose';

import Avatar from '@material-ui/core/Avatar';
import Button from '@material-ui/core/Button';
import Card from '@material-ui/core/Card';
import CardActions from '@material-ui/core/CardActions';
import CircularProgress from '@material-ui/core/CircularProgress';
import TextField from '@material-ui/core/TextField';
import { withStyles } from '@material-ui/core/styles';
import LockIcon from '@material-ui/icons/Lock';
import { MenuItem, Select, FormControl, …
Run Code Online (Sandbox Code Playgroud)

reactjs react-redux react-admin

5
推荐指数
0
解决办法
1651
查看次数

React-admin:如何将更多参数传递给 GET_LIST 类型的 dataProvider

我想将一个自定义参数传递给管理员的 dataProvider,类型为“GET_LIST”。

我在 App.js 中有这样的东西:

<Admin dataProvider={dataProvider}> 
    <Resource name="posts" list={PostList} myCustomAttr={"10"} /> 
    <Resource name="users" list={UserList} myCustomAttr={"15"} /> 
</Admin>
Run Code Online (Sandbox Code Playgroud)

“dataProvider”是一个自定义 dataProvider,我希望在调用它时拥有“myCustomAttr”。

所以我的自定义 dataProvider 可能如下所示:

export default (type, resource, params) => {

    if (type == 'GET_LIST') {
       if (params.myCustomAttr == '10') {
           //Do something
       }
    }
}
Run Code Online (Sandbox Code Playgroud)

parameters dataprovider reactjs react-admin

5
推荐指数
1
解决办法
5423
查看次数

如何从左侧菜单折叠开始

是否可以轻松地从折叠的左侧菜单开始,或者我是否需要更新布局?我希望默认情况下折叠菜单,仅显示图标。谢谢。

react-admin

5
推荐指数
2
解决办法
2692
查看次数

反应管理:类型错误:(0,n.default)不是一个函数

从使用 next.js 切换到更简单的 Parcel/webpack 构建后,我已经尝试解决这个特定错误一个多星期了,但没有成功。

我不知道如何解决这个问题,所以我希望这里有人可以提供帮助。

完整错误:

TypeError: (0 , n.default) is not a function
    at admin.js:47
    at admin.js:23
    at Object.next (admin.js:4)
    at p (redux-saga-core.esm.js:1157)
    at yn (redux-saga-core.esm.js:1108)
    at redux-saga-core.esm.js:585
    at d (redux-saga-core.esm.js:56)
    at Y (redux-saga-core.esm.js:584)
    at redux-saga-core.esm.js:1204
    at h (redux-saga-core.esm.js:1271)
m @ io-6de156f3.js:111
Run Code Online (Sandbox Code Playgroud)

经过一段时间的研究后,我发现这个错误发生在 admin.ts 文件中的这一行:

https://github.com/marmelab/react-admin/blob/master/packages/ra-core/src/sideEffect/admin.ts#L29

现在真正奇怪的是,它似乎是从该./error导入导入 html,而不是实际的 JS 模块。

在此输入图像描述

但这个错误应该是一些 redux-saga 内容的生成器。

切换到 Parcel 后,完全被这个错误难住了。我认为包裹和反应管理之间可能存在一些奇怪的不兼容性。所以我把 Parcel 换成了更典型的 webpack 构建...但是错误仍然存​​在。所以这可能与构建工具无关。

现在让事情变得更加复杂。如果我手动进入并从反应管理代码中取出该错误导入和函数调用。

出现了一个新错误,'o' is not a function所以在我看来,有些事情严重搞砸了。

我根本没有改变react-admin的版本或实现。

这是使用“react-admin”:“^2.9.8”,

任何对此的帮助将不胜感激!

react-admin

5
推荐指数
0
解决办法
1347
查看次数

如果没有字段/列名称,如何使用react-admin的ChipField?

我有一个CheckboxGroupInput这样的字段:

   <CheckboxGroupInput source="fruits" choices={[
        { 'name': 'apples' },
        { 'name': 'pears' }
    ]} optionValue='name'/>
Run Code Online (Sandbox Code Playgroud)

fruits当用户选择这两个选项时,它会为字段生成如下所示的 json :

  'fruits': ['apples','pears']
Run Code Online (Sandbox Code Playgroud)

我想在Listusing中显示它ChipField,而source我没有,因为 json 是一个纯字符串数组。

如果 json 看起来像这样,源将是“名称”fruits:[{'name':'apples'}, {'name':'pears'}]

           <ArrayField source='fruits'>
                <SingleFieldList>
                    <ChipField source='???' />  
                </SingleFieldList>
            </ArrayField>
Run Code Online (Sandbox Code Playgroud)

如何使用ChipField OR显示纯字符串数组的内容,或者如何告诉CheckboxGroupInput生成对象数组而不是字符串数组?

reactjs material-ui react-final-form react-admin

5
推荐指数
2
解决办法
1569
查看次数

如何在功能组件中渲染数据之前等待 FETCH?

我试图显示一个<Loading>组件,直到数据获取成功,
然后显示一个子组件。我不明白为什么状态不更新......

我该如何处理这个问题?

我正在使用react-admin,但我想这并不重要。
我有一个<Dashboard>应该传递defibs (Array)<DefibsCard>.

当我登录时,defibs<DefibsCard>有一个空数组。谢谢 !

const Dashboard = () => {
  const dataProvider = useDataProvider();
  const [loading, setLoading] = useState(true);
  const [defibs, setDefibs] = useState([]);

  const fetchDefibs = () => {
    dataProvider.getList('defibrillateurs', {
      filters: {}, sort: {field: 'id', order: 'ASC'}, pagination: {page: 1, perPage: 10}
    }).then((response) => {
      setDefibs(response.defibs);
      setLoading(false);
    })
  }

  useEffect(() => {
    fetchDefibs();
    console.log(loading)
  }, [])

  const classes = useStyles(); …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-admin

5
推荐指数
1
解决办法
1万
查看次数

在react-admin中编辑多选输入以实现一对多或多对多关系?

当前在react-admin中编辑多对多关系的“开箱即用”方式是什么?

更具体地说,有什么方法可以通过引用的表来 SelectArrayInput 或 AutoCompleteArrayInput 吗?

我的第一个表是stream 流表

我的第二个表是subject 主题表

他们的映射表是stream_subject 映射表

我必须像这个 编辑表单一样显示我的表单

目前,我正在使用引用数组输入,但它不起作用,我当前的代码如下:

<ReferenceManyField label='Subject' reference='stream_subject' target='stream_id'>
    <ReferenceArrayInput label='Subject' reference='subject' source='subject_id'>
        <SelectArrayInput source='name'>
            <ChipField source='name' />
        </SelectArrayInput>
    </ReferenceArrayInput>
</ReferenceManyField>
Run Code Online (Sandbox Code Playgroud)

有没有办法为此创建多选下拉菜单,我什至尝试使用useQueryreact-admin中的钩子,但无法取得任何进展,即使有人可以帮助我,useQuery方法可以解决我的问题。为此,我使用 hasura-graphql datprovider:https://github.com/Steams/ra-data-hasura-graphql

我的 graphql 是这样的: graphql-query

graphql hasura react-admin

5
推荐指数
0
解决办法
1078
查看次数