Проблема с выбором кода страны в раскрывающемся списке стран с одинаковым кодом страны

У меня есть раскрывающийся список выбора кода страны в React. Недавно я узнал, что США и Канада имеют один и тот же код страны. Проблема в том, что всякий раз, когда я выбираю Канаду или США, всегда выбирается США, поскольку оба они имеют общее значение 1. Мне также нужно передавать и получать эти данные из серверной части, что также делает это еще более сложным.

Каков путь вперед? Могу ли я написать «1» как «01», и действительно ли это?


<option  value="1">USA (+1)</option>
<option  value="1">Canada (+1)</option>


person Pranay kumar    schedule 22.12.2020    source источник


Ответы (2)


Вы можете столкнуться с этим не раз: например, Казахстан и Россия используют +7 (могут быть и другие, но я не уверен).

Вместо этого я бы рекомендовал хранить их сопоставление на сервере и устанавливать значения в вашем приложении React как ISO. 3166-1 коды стран alpha-2 или любой уникальный идентификатор страны, который вы хотите сохранить на сервере. Затем вы можете установить этот код или идентификатор как value, и при отправке формы позволить серверу определить код вызова.

person Eric Streeper    schedule 22.12.2020

Это работает так, как задумано. Вы можете использовать другое значение, как вы предположили. Вы также можете удалить атрибут value, и в этом случае текст будет передан на сервер, т.е. USA (+1). Поскольку вы кодируете в тексте и страну, и префикс, вы можете извлечь их или иметь подходящее сопоставление на стороне сервера, которое сопоставляет текст как со страной, так и с префиксом.

person Allan Wind    schedule 22.12.2020