# Native select: Controlled

> Pass `value` and `onChange` like a regular select.

Example: https://hextaui.com/docs/native-select/examples/controlled
Component docs: https://hextaui.com/docs/native-select.md

## Add this example

```bash
npx shadcn@latest add https://hextaui.com/r/native-select-controlled.json
```

This adds `components/examples/native-select/controlled.tsx` with the Native select component and the HextaUI theme tokens.

## Source

```tsx title="components/examples/native-select/controlled.tsx"
"use client"

import * as React from "react"

import { NativeSelect, NativeSelectOption } from "@/components/ui/native-select"

const zones = [
  { value: "America/New_York", label: "New York" },
  { value: "Europe/London", label: "London" },
  { value: "Asia/Kolkata", label: "Kolkata" },
  { value: "Asia/Tokyo", label: "Tokyo" },
]

export function NativeSelectControlled() {
  const [zone, setZone] = React.useState("Asia/Kolkata")
  const time = new Intl.DateTimeFormat("en-US", {
    hour: "numeric",
    minute: "2-digit",
    timeZone: zone,
  }).format(new Date(Date.UTC(2026, 9, 4, 9, 0)))

  return (
    <div className="flex flex-col items-start gap-2">
      <NativeSelect
        aria-label="Time zone"
        value={zone}
        onChange={(event) => setZone(event.target.value)}
      >
        {zones.map((option) => (
          <NativeSelectOption key={option.value} value={option.value}>
            {option.label}
          </NativeSelectOption>
        ))}
      </NativeSelect>
      <p className="text-sm text-muted-foreground">
        09:00 UTC is {time} there.
      </p>
    </div>
  )
}
```

## Props in this example

### NativeSelect

| Prop | Type | Default | Description |
| --- | --- | --- | --- |
| `value` | `string` | – |  |

## More Native select examples

- [Groups](https://hextaui.com/docs/native-select/examples/groups.md)
- [Sizes](https://hextaui.com/docs/native-select/examples/sizes.md)
- [Field](https://hextaui.com/docs/native-select/examples/field.md)
- [Invalid](https://hextaui.com/docs/native-select/examples/invalid.md)
- [Disabled](https://hextaui.com/docs/native-select/examples/disabled.md)
- [Long content](https://hextaui.com/docs/native-select/examples/long-content.md)
- [Right to left](https://hextaui.com/docs/native-select/examples/rtl.md)
