Сопоставить «defaultValue» и «source» текстового вводаact-admin с двумя различными свойствами одного и того же объекта - PullRequest
0 голосов
/ 25 апреля 2020

У меня странная конечная точка API, в которой есть два свойства для одного и того же поля.

{
 id:"123",
 title: {
  rendered: "Hi, i'm rendered",
  raw: "<p> Hi, I'm the title</p>"
}

в форме редактирования, у меня есть такой компонент:

        <TextInput
            source="title.raw"
            defaultValue="title.rendered"
            validation={{ text: true }}
            validate={required()}
            />

Но это не работает. Как я могу сделать так, чтобы title.rended отображался как значение по умолчанию, но при этом title.raw был тем, что отправлено обратно на конечную точку / сервер?

1 Ответ

1 голос
/ 27 апреля 2020

Попробуйте это:

import { FormDataConsumer } from 'react-admin'

<Edit ...>
  ...
  <FormDataConsumer>
    {({ formData, ...rest }) =>
      <TextInput
        source="title.raw"
        defaultValue={formData.title.rendered}
        validation={{ text: true }}
        validate={required()}
      />
    }
  </FormDataConsumer>
</Edit>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...