⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

Vue 表单输入 v-model

学习 v-model 实现文本框、复选框、单选框、下拉框的数据双向绑定 · 难度:入门 · +20XP

v-model — 表单双向绑定

v-model 让表单输入和数据之间自动双向同步

不需要写任何监听输入事件的代码,Vue 帮你搞定了。

文本框

<input v-model="name" placeholder="输入姓名">
<p>你好,{{ name }}!</p>

在输入框里打字,下面立刻显示"你好,XXX!"。

多行文本框

<textarea v-model="bio" placeholder="介绍你自己"></textarea>
<p>已输入 {{ bio.length }} 个字</p>

复选框

单个复选框(v-model 是布尔值):

<input type="checkbox" v-model="agree"> 我同意协议
<button :disabled="!agree">下一步</button>

多个复选框(v-model 是数组):

<input type="checkbox" v-model="hobbies" value="读书"> 读书
<input type="checkbox" v-model="hobbies" value="运动"> 运动
<input type="checkbox" v-model="hobbies" value="编程"> 编程
<p>你选了:{{ hobbies.join("、") }}</p>

单选按钮

<input type="radio" v-model="gender" value="男"> 男
<input type="radio" v-model="gender" value="女"> 女

下拉选择

<select v-model="city">
  <option value="">请选择城市</option>
  <option value="北京">北京</option>
  <option value="上海">上海</option>
</select>

v-model 修饰符

修饰符作用例子
.lazy不实时更新,等输完再更新v-model.lazy="msg"
.number自动转成数字类型v-model.number="age"
.trim自动去掉前后空格v-model.trim="name"

动手试试

  1. 在右边表单里填信息,看下面的预览区实时变化
  2. 试试去掉姓名输入框前后加空格,看 .trim 的效果
  3. 试试不勾选"同意",看提交按钮的状态变化
Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 125 篇
0 完成
🔥 0