Как установить выбранное значение по умолчанию при нажатии на кнопку отправки или в первый раз при загрузке - React Hook - PullRequest
0 голосов
/ 09 июля 2020

Это состояние моей категории

const [category, setCategory] = useState('');

Это элемент формы:

 <select onChange={e => setCategory(e.target.value)}>
                                        <Options options={categoryList} value={category}/>
                                        </select>

При изменении значения я получаю категорию как выбранную

const handleBusinessInfoSubmit = (e) => {
        try{
            e.preventDefault();
            console.log("category selected is " +category);

        }
        catch{
            console.log("something went wrong!");
        }
    } 

Как установить состояние категории, если пользователь не меняет значение и нажимает «Отправить»? пара ключ-значение

 const categoryList = [
        {
            id: 1,
            value: 'Public Services'
        }, {
            id: 2,
            value: 'Automotive'
        }
        ];
// generate select dropdown option list dynamically
function Options({ options }) {
    return (
        options.map(option => 
                    <option key={option.id} value={option.value}>                                   
                    {option.value}
                    </option>)
                   );
        }

1 Ответ

1 голос
/ 09 июля 2020

Вероятно, я бы добавил начальное значение по умолчанию к useState вместо '':

const [category, setCategory] = useState(categoryList[0]);

Или, может быть, если данные поступают динамически, тогда вызов setCategory() со значением из результата API что бы вы хотели использовать по умолчанию.

Надеюсь, это поможет!

...