Vue Native provides 20 built-in components that map directly to native views.
All components are globally registered — no import needed in templates.
| Component | iOS | Android | Description |
|---|
<VView> | UIView | FlexboxLayout | Container view. Supports all Flexbox props |
<VScrollView> | UIScrollView | ScrollView | Scrollable container |
<VSafeArea> | UIView + safeAreaInsets | View + WindowInsetsCompat | Respects device safe areas |
<VKeyboardAvoiding> | Custom VC logic | AdjustResize / manual offset | Shifts content when keyboard appears |
| Component | iOS | Android | Description |
|---|
<VText> | UILabel | TextView | Text display |
<VInput> | UITextField | EditText | Text input with v-model |
| Component | iOS | Android | Description |
|---|
<VButton> | UIButton / UIControl | Custom TouchDelegate | Pressable view with @press |
<VSwitch> | UISwitch | Switch | Toggle with v-model |
<VSlider> | UISlider | SeekBar | Range slider with v-model |
<VSegmentedControl> | UISegmentedControl | TabLayout | Tab strip selector |
| Component | iOS | Android | Description |
|---|
<VImage> | UIImageView + URLSession | ImageView + Coil | Async image loading with caching |
<VWebView> | WKWebView | WebView | Embedded web view |
| Component | iOS | Android | Description |
|---|
<VList> | UITableView | RecyclerView | Virtualized list for large datasets |
| Component | iOS | Android | Description |
|---|
<VActivityIndicator> | UIActivityIndicatorView | ProgressBar (circular) | Loading spinner |
<VProgressBar> | UIProgressView | ProgressBar (horizontal) | Progress bar |
<VAlertDialog> | UIAlertController | AlertDialog | Native alert |
<VActionSheet> | UIAlertController (.actionSheet) | BottomSheetDialog | Bottom action sheet |
<VModal> | UIViewController presentation | Dialog | Full-screen overlay modal |
| Component | iOS | Android | Description |
|---|
<VStatusBar> | UIStatusBarStyle | WindowInsetsController | Control status bar style |
<VPicker> | UIDatePicker | DatePickerDialog / NumberPicker | Date/time and value picker |