区域选择PRO

用于切换区域的选择框。

用法

LocaleSelect 组件扩展自 SelectMenu 组件,因此您可以传递任何属性,例如 colorvariantsize 等。

此组件旨在与国际化 (i18n) 系统一起使用。在指南中了解更多信息。
此组件旨在与国际化 (i18n) 系统一起使用。在指南中了解更多信息。
标志使用 Unicode 字符显示。这可能会导致显示不同,例如 Windows 系统下的 Microsoft Edge 会显示 ISO 3166-1 alpha-2 代码而不是旗帜图标,因为操作系统字体未附带旗帜图标。

区域

使用 locales prop,其值为来自 @nuxt/ui/locale 的区域数组。

<script setup lang="ts">
import * as locales from '@nuxt/ui/locale'

const locale = ref('en')
</script>

<template>
  <ULocaleSelect v-model="locale" :locales="Object.values(locales)" class="w-48" />
</template>

您可以只传递应用程序中需要的区域

<script setup lang="ts">
import { en, es, fr } from '@nuxt/ui/locale'

const locale = ref('en')
</script>

<template>
  <ULocaleSelect v-model="locale" :locales="[en, es, fr]" />
</template>

动态区域

您可以将其与 Nuxt i18n 一起使用

<script setup lang="ts">
import * as locales from '@nuxt/ui/locale'

const { locale } = useI18n()
</script>

<template>
  <ULocaleSelect v-model="locale" :locales="Object.values(locales)" />
</template>

您可以将其与 Vue i18n 一起使用

<script setup lang="ts">
import { useI18n } from 'vue-i18n'
import * as locales from '@nuxt/ui/locale'

const { locale } = useI18n()
</script>

<template>
  <ULocaleSelect v-model="locale" :locales="Object.values(locales)" />
</template>

API

属性

属性默认值类型
trailingIcon

appConfig.ui.icons.chevronDown

string

用于打开菜单的图标。

disabled

boolean

当为 true 时,阻止用户与列表框交互

color

'primary'

"error" | "primary" | "secondary" | "success" | "info" | "warning" | "neutral"

size

'md'

"md" | "xs" | "sm" | "lg" | "xl"

modelValue

string

content

{ side: 'bottom', sideOffset: 8, collisionPadding: 8, position: 'popper' }

ComboboxContentProps & Partial<EmitsToProps<DismissableLayerEmits>>

菜单的内容。

变体

'outline'

"outline" | "soft" | "subtle" | "ghost" | "none"

选中图标

appConfig.ui.icons.check

string

选中项目时显示的图标。

箭头

false

boolean | ComboboxArrowProps

在菜单旁边显示一个箭头。

传送门

true

string | false | true | HTMLElement

在传送门中渲染菜单。

语言环境

Locale<any>[]

ui

{ base?: ClassNameValue; leading?: ClassNameValue; leadingIcon?: ClassNameValue; leadingAvatar?: ClassNameValue; leadingAvatarSize?: ClassNameValue; ... 21 more ...; focusScope?: ClassNameValue; }