首页>编程相关>其他源码

国际化
类型: Object默认值: {}
允许本地化/自定义 200 多个国家/地区名称以及其他用户界面文本(例如国家/地区搜索输入的占位符文本)。最简单的方法是导入提供的翻译模块之一并将i18n设置为该值(请参阅下面的选项 1)。您还可以通过这种方式覆盖一个或多个单独的键(请参阅下面的选项 1)。或者,您可以提供自己的自定义翻译(请参阅下面的选项 2)。如果提供您自己的国家/地区名称,则需要指定所有国家/地区名称(可以从国家/地区列表项目复制,例如,这里是法语的国家/地区名称)以及一些 UI 字符串(如下所列)。参见示例。

如果我们当前不支持您需要的语言,您可以轻松自行贡献 - 您只需提供少量 UI 翻译字符串,因为我们会自动从国家/地区列表项目中提取国家/地区名称。

选项 1:导入提供的翻译模块之一

 import { fr } from "intl-tel-input/i18n" ;

intlTelInput ( input , {
  i18n : fr ,
} ) ;

// or to override one or more keys, you could do something like this
intlTelInput ( input , {
  i18n : {
    ... fr ,
    searchPlaceholder : "Recherche de pays" ,
  } ,
} ) ;

选项 2:定义您自己的自定义翻译

 intlTelInput ( input , {
  i18n : {
    // Country names - see the full list in src/js/intl-tel-input/i18n/en/countries.ts
    af : "Afghanistan" ,
    al : "Albania" ,
    dz : "Algeria" ,
    as : "American Samoa" ,
    ad : "Andorra" ,
    ...
    // Aria label for the selected country element
    selectedCountryAriaLabel : "Selected country" ,
    // Screen reader text for when no country is selected
    noCountrySelected : "No country selected" ,
    // Aria label for the country list element
    countryListAriaLabel : "List of countries" ,
    // Placeholder for the search input in the dropdown
    searchPlaceholder : "Search" ,
    // Screen reader text for when the search produces no results
    zeroSearchResults : "No results found" ,
    // Screen reader text for when the search produces 1 result
    oneSearchResult : "1 result found" ,
    // Screen reader text for when the search produces multiple results
    multipleSearchResults : "${count} results found" ,
  }
} ) ;

初始国家
类型: String默认值: ""
通过指定国家/地区代码(例如"us"代表美国)来设置初始国家/地区选择。 (除非您确定用户所在的国家/地区,否则请小心不要这样做,因为如果设置不正确,并且用户自动填写其国家/地区号码并在不检查的情况下提交表单,可能会导致棘手的问题 - 在某些情况下,这可以通过验证并且您最终可能会存储一个带有错误拨号代码的号码)。您还可以将initialCountry设置为"auto" ,这将根据用户的 IP 地址查找用户所在的国家/地区(需要geoIpLookup选项 - 请参阅示例)。请注意,无论您如何使用initialCountry ,如果输入已包含带有国际拨号代码的号码,它都不会更新国家/地区选择。

loadUtilsOnInit (参见 v25 讨论)
类型: String() => Promise默认值: ""示例: "/build/js/utils.js"

这是(惰性)加载包含的 utils.js(以启用格式化/验证等)的一种方法 - 请参阅加载实用程序脚本以获取更多选项。您需要托管 utils.js 文件,然后将loadUtilsOnInit选项设置为该 URL,或者仅将其指向 CDN 托管版本,例如"https://cdn.jsdelivr.net/npm/[email protected]/build/js/utils.js" 。该脚本通过动态导入语句加载,这意味着 URL 不能是相对的 - 它必须是绝对的。

或者,这可以是一个返回 utils 模块承诺的函数。当使用像 Webpack 这样的捆绑器时,这可以用来告诉捆绑器 utils 脚本应该与其余代码保存在单独的文件中。例如: { loadUtilsOnInit: () => import("intl-tel-input/utils") }

仅当您初始化插件时才获取脚本,此外,仅当页面完成加载(在窗口加载事件上)时才获取脚本,以防止阻塞(脚本约为 260KB)。实例化插件时,会在promise实例属性下返回一个 Promise 对象,因此您可以执行诸如iti.promise.then(callback)之类的操作来了解此类初始化请求何时完成。有关详细信息,请参阅实用程序脚本。

国家模式
类型: Boolean默认值: true
以国家格式而不是国际格式格式化数字。这适用于占位符号码以及显示用户的现有号码时。请注意,用户可以以国家/地区格式键入号码 - 只要他们选择了正确的国家/地区,您就可以使用getNumber来提取完整​​的国际号码 - 请参阅示例。建议启用此选项,以鼓励用户以国家格式输入号码,因为这通常对他们来说更熟悉,因此可以创造更好的用户体验。

仅限国家
类型: Array默认值: []
在下拉列表中,仅显示您指定的国家/地区 - 请参阅示例。

占位符数字类型
类型: String默认值: "MOBILE"
指定枚举intlTelInput.utils.numberType中的键之一(例如"FIXED_LINE" )以设置用于占位符的数字类型。在 Storybook 上使用此选项(使用 React 组件)。

显示标志
类型: Boolean默认值: true
将其设置为 false 以隐藏标志,例如出于政治原因。相反,它将显示一个通用的地球图标。在 Storybook 上使用此选项(使用 React 组件)。

单独的拨号代码
类型: Boolean默认值: false
在输入旁边显示所选国家/地区的国际拨号代码,因此它看起来像是键入的号码的一部分。由于用户无法编辑显示的拨号代码,他们可能会尝试输入一个新的拨号代码 - 在这种情况下,为了避免两个拨号代码彼此相邻,我们会自动打开国家/地区下拉列表并将新的拨号代码放入搜索输入中反而。因此,如果他们输入 +54,那么阿根廷将在下拉列表中突出显示,他们只需按 Enter 键即可选择它,从而更新显示的拨号代码(此功能需要启用allowDropdowncountrySearch )。在 Storybook 上使用此选项(使用 React 组件)。

严格模式
类型: Boolean默认值: false
当用户输入内容时,忽略任何不相关的字符。用户只能输入数字字符和开头的可选加号。将长度限制为最大有效数字长度(这尊重validationNumberType )。需要加载 utils 脚本。参见示例。

使用全屏弹出窗口
类型: Boolean默认值: true on mobile devices, false otherwise
控制国家/地区列表何时显示为全屏弹出窗口或内嵌下拉菜单。默认情况下,它将在移动设备上显示为全屏弹出窗口(基于用户代理和屏幕宽度),以更好地利用有限的空间(类似于本机之前插入错误消息,则会破坏布局。相反,您必须将其插入到容器之前(具有类iti )。

下拉位置
根据可用空间,下拉列表应自动显示在输入的上方/下方。为了使其正常工作,您必须仅在添加到 DOM 后初始化插件。

占位符
要自动获取特定于国家/地区的占位符,只需省略上的 placeholder 属性,或将autoPlaceholder设置为"aggressive"以覆盖任何现有占位符,

引导输入组
需要进行一些 CSS 修复才能使插件与 Bootstrap 输入组配合良好。你可以在这里看到 Codepen。
注意:Mobile Safari 目前存在一个错误,当您单击输入组内的下拉箭头(CSS 三角形)时,该错误会导致崩溃。最简单的解决方法是使用以下行删除 CSS 三角形:

. iti__arrow { border : none; }

贡献

请参阅贡献指南,了解有关设置项目和进行更改的说明,以及如何更新到新版本的 libphonenumber、如何更新标志图像或如何添加新翻译的说明。

归因

由 BrowserStack 开源程序支持的用户测试

浏览器测试通过

展开
附加信息
  • 版本 v24.7.0
  • 类型 其他源码
  • 更新时间 2024-11-12
  • 大小
  • 语言 简体中文