Skip to content

Form Input Binding

Text, textarea, select, checkbox, and radio each use v-model with slightly different semantics. This lesson covers practical patterns, syntax, and mistakes to avoid.

Binding Inputs with v-model

Text, textarea, select, checkbox, and radio each use v-model with slightly different semantics.

Checkbox groups bind to arrays of chosen values.

<input v-model="text" />
<textarea v-model="bio" />
<select v-model="city"><option>NYC</option></select>

Common control bindings.

Value Types

strings, numbers (.number), booleans, arrays
  • Prefer Composition API + script setup.
  • Use computed for derived UI.
  • Keep side effects intentional.
  • Practice in a small Vite app.

Form Input Binding Cheatsheet

Quick reference for patterns covered in this lesson.

Item Example Purpose
text string Default
checkbox boolean/array Toggle
radio picked value Group
select option Dropdown
multiple array Select
lazy change Modifier

Select Gotcha

Option values are strings unless you bind :value carefully.

Common Mistakes

  • Using same v-model for conflicting control types.
  • Forgetting :value on radio options.

Key Takeaways

  • Form Input Binding is important in Vue apps.
  • Practice in SFCs.
  • Prefer clear naming.
  • Check Vue docs for details.

Pro Tip

For object options, bind :value explicitly and compare by id.