\n \u003C/UFormField>\n \u003CUFormField label=\"USelect\">\n \u003CUSelect v-model=\"value\" placeholder=\"Placeholder\" :items />\n \u003C/UFormField>\n \u003C/div>\n\u003C/template>\n\n```\n\n### Description\n\nIf the model-value is an empty string, the USelectMenu placeholder doesn't show. This behavior is different than the USelect component, where the placeholder is shown without having to use `undefined` as the v-model's value. \n\n### Additional context\n\nI know I could use `undefined` for the value here, however in my real code the v-model is bound to a non-optional value, so if I were to initialize it as `undefined`, TypeScript would freak out. Also, because these components are really similar, these behaviors shouldn't differ in my opinion. \n\n\u003Cimg width=\"200\" height=\"143\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/49a5d11d-2212-41d7-81b3-202692a20a8a\" />\n\n### Logs\n\n```shell-script\n\n```",[3156,3157,3160],{"name":3140,"color":3141},{"name":3158,"color":3159},"v3","49DCB8",{"name":3143,"color":3144},4528,"closed","[SelectMenu]: Placeholder value not shown if v-model is an empty string","2025-07-16T10:43:41Z","https://github.com/nuxt/ui/issues/4528",0.63720435,{"description":3168,"labels":3169,"number":3172,"owner":3146,"repository":3173,"state":3162,"title":3174,"updated_at":3175,"url":3176,"score":3177},"https://volta.s3.fr-par.scw.cloud/Clean_Shot_2022_02_25_at_17_19_52_5b7648bd53.mp4\n",[3170],{"name":3140,"color":3171},"ff281a",90,"nuxt.com","(UI) USelect: placeholder put in the value","2023-02-15T12:30:37Z","https://github.com/nuxt/nuxt.com/issues/90",0.64692456,{"description":3179,"labels":3180,"number":3187,"owner":3146,"repository":3147,"state":3162,"title":3188,"updated_at":3189,"url":3190,"score":3191},"### Environment\n\n------------------------------\r\n- Operating System: Windows_NT\r\n- Node Version: v20.10.0\r\n- Nuxt Version: 3.11.2\r\n- CLI Version: 3.11.1\r\n- Nitro Version: 2.9.6\r\n- Package Manager: yarn@4.1.1\r\n- Builder: -\r\n- User Config: -\r\n- Runtime Modules: -\r\n- Build Modules: -\r\n------------------------------\n\n### Version\n\n2.8\n\n### Reproduction\n\nvisible even on the docs page \n\n### Description\n\nWhen there is no value set for select, the placeholder is displayed (if set).\r\nIn such case, when options are displayed their labels are \"muted\" - looks like disabled ones.\r\n\r\n\r\nOnce any option is picked, their color change to \"proper\" one.\r\n\r\n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[3181,3182,3185],{"name":3140,"color":3141},{"name":3183,"color":3184},"closed-by-bot","ededed",{"name":3186,"color":3184},"stale",1757,"USelect with placeholder display options with missleading color","2025-06-19T02:12:33Z","https://github.com/nuxt/ui/issues/1757",0.6958019,{"description":3193,"labels":3194,"number":3197,"owner":3146,"repository":3147,"state":3162,"title":3198,"updated_at":3199,"url":3200,"score":3201},"### Environment\n\n- Operating System: Windows_NT\n- Node Version: v24.2.0\n- Nuxt Version: 4.0.3\n- CLI Version: 3.28.0\n- Nitro Version: 2.12.4\n- Package Manager: bun@1.2.17\n- Builder: -\n- User Config: css, modules, nitro, i18n, imports, runtimeConfig, icon, compatibilityDate\n- Runtime Modules: @nuxtjs/i18n@10.0.6, @nuxt/ui-pro@3.3.1, @nuxt/eslint@1.9.0, @nuxtjs/html-validator@2.1.0, @nuxt/image@1.11.0, @vueuse/nuxt@13.7.0, @artmizu/nuxt-prometheus@2.5.2, @nuxtjs/seo@3.1.0\n- Build Modules: -\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.3.1\n\n### Reproduction\n\n```vue\n\u003Cscript lang=\"ts\" setup>\nconst value = ref(\"\");\nconst items: Array\u003Cstring | number> = [1, \"2\", 3];\n\u003C/script>\n\n\u003Ctemplate>\n \u003CUForm :state=\"value\" class=\"flex max-w-72 flex-col space-y-4 py-8\">\n \u003CUFormField label=\"UInputMenu\">\n \u003CUInputMenu v-model=\"value\" :items placeholder=\"UInputMenu\" />\n \u003C/UFormField>\n \u003CUFormField label=\"USelect\">\n \u003CUSelect v-model=\"value\" :items placeholder=\"USelect\" />\n \u003C/UFormField>\n \u003CUFormField label=\"USelectMenu\">\n \u003CUSelectMenu v-model=\"value\" :items placeholder=\"USelectMenu\" />\n \u003C/UFormField>\n \u003C/UForm>\n\u003C/template>\n```\n\n### Description\n\nAfter updating to version 3.3.1, the InputMenu, Select and SelectMenu component's placeholder value is not shown, if the value is not found in the items array. In version 3.3.0 the placeholder correctly shows up.\n\nNuxt UI 3.3.0\n\u003Cimg width=\"350\" height=\"300\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/2b0937d4-7640-4277-8169-ff192bc01d97\" />\n\nNuxt UI 3.3.1\n\u003Cimg width=\"410\" height=\"285\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/3d744e11-748b-4b3c-a236-fcee8fdcd765\" />\n\n\u003Cimg width=\"395\" height=\"298\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/ac7be307-ca5c-4957-a2fb-5721eebdea07\" />\n\nIf the v-model is `undefined` it works just like in 3.3.0, however in my projects I feel like that's not always achievable because of type definitions.\nI know I could set the default value to one of the items' values, but what if I don't want to populate the component by default and just show the placeholder? \nFor this to work in version 3.3.1 I'd have to loosen up the type definitions, so that required fields are not required anymore, which is wrong and I don't feel like I should have to do to keep the behavior of a UI component. \n\nShouldn't we have an exception for falsy values that are sometimes used as default values (empty string, 0...), so the placeholder can be shown without having to explicitly have `undefined` as the default value?\n\n### Additional context\n\nI haven't dug that deep, but I think #4689 introduced this behavior to these components. \n\n### Logs\n\n```shell-script\n\n```",[3195,3196],{"name":3140,"color":3141},{"name":3158,"color":3159},4812,"[InputMenu,Select,SelectMenu] Placeholder not showing in v3.3.1, if item is not found and default value is not undefined or null","2025-08-27T14:42:51Z","https://github.com/nuxt/ui/issues/4812",0.69984496,{"description":3203,"labels":3204,"number":3206,"owner":3146,"repository":3173,"state":3162,"title":3207,"updated_at":3208,"url":3209,"score":3210},"",[3205],{"name":3140,"color":3171},164,"`USelect` default value is not displayed after ssr load","2023-02-15T12:31:49Z","https://github.com/nuxt/nuxt.com/issues/164",0.70962846,{"description":3212,"labels":3213,"number":3218,"owner":3146,"repository":3147,"state":3162,"title":3219,"updated_at":3220,"url":3221,"score":3222},"### Environment\n\n- Operating System: Linux\n- Node Version: v18.20.3\n- Nuxt Version: 3.15.4\n- CLI Version: 3.22.2\n- Nitro Version: 2.10.4\n- Package Manager: pnpm@8.15.6\n- Builder: -\n- User Config: modules, compatibilityDate\n- Runtime Modules: @nuxt/ui@2.21.0\n- Build Modules: -\n\n### Version\n\nv2.21.0\n\n### Reproduction\n\nhttps://stackblitz.com/edit/nuxt-ui-sl6rquvy?file=app.vue\n\n### Description\n\nWhile the issue with passing a `false` value has been resolved in PR #1550, setting a numeric value of `0` still results in a binding problem. Specifically, when `0` is used as the value, the USelectMenu renders as blank and fails to display the intended option.\n\n**Steps to Reproduce:** \n1. Use the following reproduction code:\n\n```ts\n\u003Cscript setup lang=\"ts\">\nconst people = [{\n id: 0,\n name: 'Wade Cooper'\n}, {\n id: 1,\n name: 'Arlene Mccoy'\n}, {\n id: 2,\n name: 'Devon Webb'\n}, {\n id: 3,\n name: 'Tom Cook'\n}]\n\nconst selected = ref(people[0].id)\n\u003C/script>\n\n\u003Ctemplate>\n \u003CUSelectMenu\n v-model=\"selected\"\n :options=\"people\"\n placeholder=\"Select people\"\n value-attribute=\"id\"\n option-attribute=\"name\"\n />\n\u003C/template>\n```\n\n2. Notice that the USelectMenu remains blank despite the initial value being set to `0`.\n\n**Expected Behavior:** \nThe USelectMenu should correctly bind and display the option corresponding to the numeric value `0`.\n\nCould you please consider looking into this issue so that numeric `0` is handled correctly, similar to how `false` is now working?\n\n### Additional context\n\n\n\n### Logs\n\n```shell-script\n\n```",[3214,3215,3216,3217],{"name":3140,"color":3141},{"name":3143,"color":3144},{"name":3183,"color":3184},{"name":3186,"color":3184},3392,"USelectMenu: Numeric value 0 causes binding issue","2025-06-18T09:01:56Z","https://github.com/nuxt/ui/issues/3392",0.71015894,{"description":3224,"labels":3225,"number":3230,"owner":3146,"repository":3147,"state":3162,"title":3231,"updated_at":3232,"url":3233,"score":3234},"### Description\n\nUSelect displays the label of the selected value. It might be interesting to add a slot to display another key when item is an object instead of the chosen label for some use case.\n\nMy own use case is picking the language :\n\n```\nconst items = [\n { value: 'en', label: 'English' },\n { value: 'fr', label: 'Français' },\n (...)\n]\n```\n\nMy open selection would display flags and labels, but once selected, the component would only display the value ('en' or 'fr' or ...). Could be the icon as well.\n\nProposal :\n\nselectLabelKey : When items is an array of objects, select the field to use as the label for the picked value on the base component (instead of labelKey)\n\n### Additional context\n\n_No response_",[3226,3229],{"name":3227,"color":3228},"enhancement","a2eeef",{"name":3158,"color":3159},4157,"USelect base text display","2025-05-23T12:25:54Z","https://github.com/nuxt/ui/issues/4157",0.71497375,{"description":3203,"labels":3236,"number":3238,"owner":3146,"repository":3173,"state":3162,"title":3239,"updated_at":3240,"url":3241,"score":3242},[3237],{"name":3140,"color":3171},220,"`Select` component still not displaying placeholder when navigating on client","2023-02-15T12:31:57Z","https://github.com/nuxt/nuxt.com/issues/220",0.7152993,{"description":3244,"labels":3245,"number":3249,"owner":3146,"repository":3146,"state":3162,"title":3250,"updated_at":3251,"url":3252,"score":3253},"### Environment\n\n------------------------------\r\n- Operating System: Linux\r\n- Node Version: v20.14.0\r\n- Nuxt Version: 3.12.4\r\n- CLI Version: 3.12.0\r\n- Nitro Version: 2.9.7\r\n- Package Manager: pnpm@9.7.1\r\n- Builder: -\r\n- User Config: runtimeConfig, extends, modules, ui, colorMode, routeRules, devtools, typescript, future, eslint, nitro, i18n, compatibilityDate\r\n- Runtime Modules: @nuxt/eslint@0.5.0, @nuxt/fonts@0.7.1, @nuxt/ui@2.18.4, @vueuse/nuxt@10.11.0, @nuxtjs/i18n@8.5.0\r\n- Build Modules: -\r\n------------------------------\r\n\n\n### Reproduction\n\nhttps://stackblitz.com/edit/nuxt-ui-u6tm1b?file=app.vue\n\n### Describe the bug\n\nWhen using a `v-model` prop with some initial object values (such as fetched already selected data from backend), the `\u003CUSelectMenu>` component doesn't show these as selected and seems to ignore them completely.\r\n\r\nEven when selecting the same objects again, it just seems to add them to the array and disregard anything, that was there previously.\n\n### Additional context\n\nThe behaviour changes when setting the `by` prop. In my case, I set it to `id`, after which I can see the object as selected, **but only** in the dropdown.\r\nThe button itself still shows `0 selected`.\n\n### Logs\n\n_No response_",[3246],{"name":3247,"color":3248},"pending triage","E99695",28733,"SelectMenu initial object values","2024-08-28T03:27:34Z","https://github.com/nuxt/nuxt/issues/28733",0.7367934,["Reactive",3255],{},["Set"],["ShallowReactive",3258],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fM5-v0Sx7RShmd57Yz549NAd0EiFOuTcyL7R9M2H0SxQ":-1},"/nuxt/ui/4768"]