В моем проекте мне нужно обновить Select Field Options в зависимости от некоторых условий, но это вызовет проблему.Например, предыдущими параметрами являются
[{ text: "a", value: "a" }, { text: "b", value: "b" }]
,
и пользователь выбирает:
{ text: "a", value: "a" }.
Затем, в зависимости от некоторых условий, параметры изменяются на
[{ text: "c", value: "c" }, { text: "d", value: "d" }]
.
Однако значение для этого поля в форме избыточного числа все еще равно { text: "a", value: "a" }
.
Это отправит неверные данные при отправке формы.
Могу ли я в любом случае справиться с этим глобально?Потому что такая ситуация в моем проекте довольно обычная.
Я думаю, что в событии select onChange мы можем проверить, находится ли значение формы в параметрах или нет.Кто-нибудь может дать несколько советов, как это сделать?
Это мой выбранный компонент:
import React from "react";
import { Form, Popup } from "semantic-ui-react";
import Tooltip from "./Tooltip";
const RenderFieldSelect = ({
input,
label,
placeholder,
options,
required,
meta: { touched, error, warning }
}) => (
<Popup
trigger={
<Form.Select
{...input}
label={label}
onChange={(e, { value }) => input.onChange(value)}
options={options}
placeholder={placeholder}
error={error ? true : null}
required={required === "Y" ? true : null}
fluid
/>
}
flowing
hoverable
>
<Tooltip touched={touched} error={error} warning={warning} />
</Popup>
);
export default RenderFieldSelect;