国家代码 select 具有相同国家代码的国家的下拉列表问题

Country code select dropdown issue with countries having same country code

我在 React 中有一个国家代码 select 下拉菜单。最近我才知道美国和加拿大有相同的国家代码。问题是每当我 select 加拿大或美国时,美国总是得到 selected,因为它们都有一个共同的值“1”。我还必须从后端传递和接收这些数据,这也使这变得更加复杂。

前进的方向是什么?我可以把'1'写成'01'吗,它有效吗?


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

这按设计工作。您可以使用您推测的不同值。您还可以删除 value 属性,在这种情况下,文本将被传递到服务器,即 USA (+1)。当您对文本中的国家和前缀进行编码时,您可以提取它,或者在服务器端有一个合适的映射,将文本映射到国家和前缀。

您可能 运行 不止一次这样:例如,哈萨克斯坦和俄罗斯都使用 +7(there may be others,但我不确定)。

我建议改为在服务器上保留这些映射,并将 React 应用中的值设置为 ISO 3166-1 alpha-2 country codes,或者真正使用您希望保存在服务器。然后,您可以将此代码或 ID 设置为 value,当您提交表单时,让服务器确定调用代码是什么。