LocaleSelect
Usage
The LocaleSelect component extends the SelectMenu component, so you can pass any property such as color, variant, size, etc.
Locales
Use the locales prop with an array of locales from @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>
You can pass only the locales you need in your application:
<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>
Dynamic locale
You can use it with Nuxt i18n:
<script setup lang="ts">
import * as locales from '@nuxt/ui/locale'
const { locale, setLocale } = useI18n()
</script>
<template>
<ULocaleSelect
v-model="locale"
:locales="Object.values(locales)"
@update:model-value="setLocale($event)"
/>
</template>
You can use it with Vue i18n:
<script setup lang="ts">
import { useI18n } from 'vue-i18n'
import * as locales from '@nuxt/ui/locale'
const { locale, setLocale } = useI18n()
</script>
<template>
<ULocaleSelect
v-model="locale"
:locales="Object.values(locales)"
@update:model-value="setLocale($event)"
/>
</template>
API
Props
| Prop | Default | Type |
|---|---|---|
locales |
| |
size |
|
|
color |
|
|
variant |
|
|
trailingIcon |
|
The icon displayed to open the menu. |
selectedIcon |
|
The icon displayed when an item is selected. |
content |
|
The content of the menu.
|
arrow |
|
Display an arrow alongside the menu. |
portal |
|
Render the menu in a portal. |
disabled |
When | |
modelValue |
| |
ui |
|
Changelog
5cb65 — feat: import @nuxt/ui-pro components