2017-09-29 97 views
0

我们正在将AOR(版本1.2.3)与现有应用程序集成。 我们试图提供编辑功能中,当我们给 < ---现场>组件其做工精细 也能够看到SAVE按钮 但 当< ---输入>组件 没有SAVE按钮是可见的,组件确实需要输入。输入组件不能正常工作

当使用 场分量代码

import React, { Component } from 'react'; 
 
import { 
 
Components 
 
} from 'admin-on-rest'; 
 
    
 
const CustomerEdit = (props) => (
 
<Edit {...this.props}> 
 
     <TabbedForm> 
 
      <FormTab label="Profile"> 
 
       <TextField source="firstName" /> 
 
       <TextField source="middleName" /> 
 
       <TextField source="lastName" /> 
 
      </FormTab> 
 
      <FormTab label="Address"> 
 
      <ReferenceManyField addLabel={false} reference="CustomerAddresses" target="customerProfileId"> 
 
       <Datagrid> 
 
       <EditButton/> 
 
       <TextField source="id" /> 
 
       <TextField source="line1" /> 
 
       <TextField source="pinCode" /> 
 
       </Datagrid> 
 
      </ReferenceManyField> 
 
      </FormTab> 
 
      </TabbedForm> 
 
    </Edit> 
 
    ); 
 
    export default CustomerEdit;

当使用 输入 组件的代码

import React, { Component } from 'react'; 
 
import { 
 
Components 
 
} from 'admin-on-rest'; 
 
    
 
const CustomerEdit = (props) => (
 
<Edit {...this.props}> 
 
     <TabbedForm> 
 
      <FormTab label="Profile"> 
 
       <TextInput source="firstName" /> 
 
       <TextInput source="middleName" /> 
 
       <TextInput source="lastName" /> 
 
      </FormTab> 
 
      <FormTab label="Address"> 
 
      <ReferenceManyField addLabel={false} reference="CustomerAddresses" target="customerProfileId"> 
 
       <Datagrid> 
 
       <EditButton/> 
 
       <TextInput source="id" /> 
 
       <TextInput source="line1" /> 
 
       <TextInput source="pinCode" /> 
 
       </Datagrid> 
 
      </ReferenceManyField> 
 
      </FormTab> 
 
      </TabbedForm> 
 
    </Edit> 
 
    ); 
 
    export default CustomerEdit;

这是App.js

import React from 'react'; 
 
import PropTypes from 'prop-types'; 
 

 
// redux, react-router, redux-form, saga, and material-ui 
 
// form the 'kernel' on which admin-on-rest runs 
 
import { combineReducers, createStore, compose, applyMiddleware } from 'redux' 
 
import { Provider } from 'react-redux' 
 
import createHistory from 'history/createHashHistory' 
 
import { Switch, Route } from 'react-router-dom' 
 
import { ConnectedRouter, routerReducer, routerMiddleware } from 'react-router-redux'; 
 
import { reducer as formReducer } from 'redux-form'; 
 
import createSagaMiddleware from 'redux-saga'; 
 
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider'; 
 

 

 
// prebuilt admin-on-rest features 
 
import { 
 
    adminReducer, 
 
    localeReducer, 
 
    crudSaga, 
 
    TranslationProvider, 
 
} from 'admin-on-rest'; 
 

 
import restClient from './restClient'; 
 
import GenericList from './ui/List'; 
 
import CustomerEdit from './ui/views/customer/customerEdit'; 
 

 
const reducer = combineReducers({ 
 
    admin: adminReducer([{ name: 'CustomerProfiles' }, 
 
    { name: 'CustomerAddresses' }]), 
 
    locale: localeReducer(), 
 
    form: formReducer, 
 
    routing: routerReducer, 
 
}); 
 
const sagaMiddleware = createSagaMiddleware(); 
 
const history = createHistory(); 
 

 
const store = createStore(reducer, undefined, compose(
 
    applyMiddleware(sagaMiddleware, routerMiddleware(history)), 
 
    window.devToolsExtension ? window.devToolsExtension() : f => f, 
 
)); 
 

 
sagaMiddleware.run(crudSaga(restClient)); 
 

 
const App =() => (
 
    <Provider store={store}> 
 
    <TranslationProvider messages={messages}> 
 
     <ConnectedRouter history={history}> 
 
     <MuiThemeProvider> 
 
      <Switch> 
 
      <Route exact path="/profile" 
 
       hasCreate render={ 
 
       (routeProps) => <GenericList resource="CustomerProfiles" {...routeProps} /> 
 
       } /> 
 
      <Route exact path="/profile/:id" 
 
       hasEdit render={ 
 
       (routeProps) => <CustomerEdit resource="CustomerProfiles" {...routeProps} /> 
 
       } /> 
 
</Switch> 
 
     </MuiThemeProvider> 
 
     </ConnectedRouter> 
 
    </TranslationProvider> 
 
    </Provider> 
 
); 
 

 
export default App
这在输入组件 No Data from Backend for CustomerAddress and also no Save Button

的情况下,这在现场的情况下的元件

when we use <---FIELD/> Component

+0

您是否错过了'adminReducer'中的'CustomerAddresses'资源? – Gildas

+0

对不起,我忘了把它放在那里,但是当甚至CustomerAddresses有,输出不存在 – Jayesh

回答

0

你不在控制台中有关于的错误?该组件不存在。

我检查了文档,我们的确将它包含在Resources chapter中。它会很快修复。

为了引用许多其他资源,您应该使用ReferenceArrayInput。但是,它不支持Datagrid。没有组件允许您编辑相关资源。

+0

对不起,其ReferenceManyField只有我忘了提及... 我的错误 ReferenceManyField在工作正常时,我工作休息管理实践项目但是当我试图整合它的不工作 – Jayesh

+0

你必须更加精确“试图整合” – Gildas

+0

好吧, 你看我什么时候按照集成部分(CustomApp.js)的文档在现有的应用程序它不是工作很好... – Jayesh