2017-12-24 15 views
1

Admin-on-rest (1.3.2)을 사용 중이며 입력 텍스트 필드와 '저장'버튼으로 맞춤 목록보기를 작성하려고합니다.Admin-on-rest의 클라이언트 측 목록보기에서 'record'객체를 편집하는 방법이 있습니까?

'저장'을 클릭하면 현재 행의 입력 필드에있는 모든 값을 가져 와서 백엔드로 보내고 싶습니다.

'저장'버튼이 값을 가져 와서 제시하도록 필드 상태를 공유하는 데 어려움을 겪고 있습니다. 입력 필드의 예와

import React from 'react'; 
import {Datagrid, List} from 'admin-on-rest' 
import TextField from 'material-ui/TextField/TextField.js'; 
import RaisedButton from 'material-ui/RaisedButton'; 

export const PostList = (props) => (
    <List title="IMDB Top Feature Films 2017" {...props}> 
    <Datagrid> 
     <InputTextField source="id"/> 
     <InputTextField source="title"/> 
     <InputTextField source="body"/> 
     <SaveButton /> 
    </Datagrid> 
    </List> 
); 

const InputTextField = ({source, record = {}}) => <TextField defaultValue={record[source]}/>; 
const SaveButton = ({source, record = {}}) => <RaisedButton label="Save"/>; 

목록 :

답변

1
import React from 'react'; 
import {Datagrid, List} from 'admin-on-rest' 
import TextField from 'material-ui/TextField/TextField.js'; 
import RaisedButton from 'material-ui/RaisedButton'; 

export class PostList extends React.Component { 
    constructor() { 
    this.state = { 
    id: "", 
    title: "", 
    body: "", 
    }; 
    } 

    setValueInState = (field, value) => { 
    this.setState({ 
     [field]: value 
    }); 
    }; 

    save =() => { 
    const {id, title, body} = this.state; 
    // write your saving log here 
    }; 

    render() { 
    return (
     <List title="IMDB Top Feature Films 2017" {...props}> 
     <Datagrid> 
      <InputTextField setValueInState={setValueInState} source="id"/> 
      <InputTextField setValueInState={setValueInState} source="title"/> 
      <InputTextField setValueInState={setValueInState} source="body"/> 
      <SaveButton save={save} /> 
     </Datagrid> 
     </List> 
    ); 
    } 
} 

const InputTextField = ({source.setValueInState, record = {}}) => <TextField defaultValue={record[source]} onChange={setValueInState}/>; 

const SaveButton = ({source, record = {}}) => <RaisedButton label="Save"/>; 

List with input field example가 괄호를 확인하시기 바랍니다. 아이디어는 내가 코드에서 보여준 것과 비슷한 선상에 있습니다.

+0

그리드의 행을 구별하는 방법을 설명 할 수 있습니까? 이드 또는 다른 속성이 있습니까? – oshai