Как получить значение onChange () из React Rrule Generator в поле TextInput с помощью React Admin - PullRequest
0 голосов
/ 06 февраля 2020

могу ли я узнать, как получить значение onChange () из React Rrule Generator в поле TextInput с помощью React Admin.

Код:

The code

Пример вывода:

The output example

Значение «повторения» возвращается, когда пользователь выбрал: The

<RRuleGenerator
  onChange={(recurrences) => console.log(`${recurrences}`)}
  config={{
    repeat: ['Monthly', 'Weekly'],
    yearly: 'on the',
    monthly: 'on',
    end: ['Never', 'On date'],
    weekStartsOnSunday: true,
    hideError: true,
   }}
  />
  <TextInput label="Recurrences" source="recurrences" />

Реактор-генератор, который я использую: https://github.com/fafruch/react-rrule-generator

Модифицированный код:

export const RACXICreate = (props) => {
const [state, setState] = useState('')
return (<Fragment>
        <RRuleGenerator
        onChange={(rrule) => setState({ rrule })}
         value={state.rrule}
         config={{
         repeat: ['Monthly', 'Weekly'],
         yearly: 'on the',
         monthly: 'on',
         end: ['Never', 'On date'],
         weekStartsOnSunday: true,
         hideError: true,
        }}
       />
       <TextInput label="Recurrences" source="recurrences" value={state.rrule} />
     </Fragment>)}

Но если я использую этот код, я смог получить значение:

<input type="text" source="recurrences" label="Recurrences" value={state.rrule} />

enter image description here

Но я в основном хочу получить значение в TextInput поле.

1 Ответ

1 голос
/ 06 февраля 2020

const React, { useState, Fragment } from 'react'

  const x = () => {
    const [state, setState] = useEffect('')
    return (
      <Fragment>
        <RRuleGenerator
          onChange={val => setState(val)}
          config={{
            repeat: ['Monthly', 'Weekly'],
            yearly: 'on the',
            monthly: 'on',
            end: ['Never', 'On date'],
            weekStartsOnSunday: true,
            hideError: true,
          }}
        />
        <TextInput label="Recurrences" source="recurrences" value={state} />
      </Fragment>
    )
  }

Используйте объект состояния, подобный этому

...