v-model指令获取常见表单项的内容 input,textarea,radio,checkbox,select

简介: 本文介绍了Vue.js中v-model指令的作用和语法,并通过示例代码展示了如何使用v-model来获取不同类型的表单元素(如文本输入框、文本域、复选框、单选框和下拉菜单)的内容。

1. v-model 作用和语法

  1. 作用: 给 表单元素 使用, 双向数据绑定 → 可以快速 获取 或 设置 表单元素内容
    ① 数据变化 → 视图自动更新
    ② 视图变化 → 数据自动更新
  2. 语法: v-model = ‘变量’

示例如下:

<div id="app">
  <input type="text" v-model="username" name="uname">
  <input type="password" v-model="password" name="upwd">
</div>
const app = new Vue({
   
  el:'#app',
  data:{
   
    username:'',
    password:'',
  }
})

2. v-model 获取常见表单项

vue 提供的 v-model 指令可以用于绑定表单元素,然后它会根据表单控件的不同,去获得正确且我们想要的值(比如,输入框就是获取value,单选框获取radio,复选框获取checkbox,下拉菜单获取下拉项…)

输入框 input:text → value
文本域 textarea → checked
复选框 input:checkbox → value
单选框 input:radio → checked
下拉菜单 select → value

例如:一个传统的个人信息表单

在这里插入图片描述


通过v-model获取个人信息表单的代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    textarea {
    
      display: block;
      width: 240px;
      height: 100px;
      margin: 10px 0;
    }
  </style>
</head>
<body>

  <div id="app">
    <h3>个人信息注册</h3>

    姓名:
      <input type="text" v-model="username"> 
      <br><br>

    是否单身:
      <input type="checkbox" v-model="isSingle"> 
      <br><br>


    性别: 
      <input type="radio" name="sex" value="1" v-model="gender"><input type="radio" name="sex" value="2" v-model="gender"><br><br>


    所在城市:
      <select v-model="cityID">
        <option value="101">北京</option>
        <option value="102">上海</option>
        <option value="103">成都</option>
        <option value="104">南京</option>
      </select>
      <br><br>

    自我描述:
      <textarea v-model="content"></textarea> 

    <button>立即注册</button>
  </div>
 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  <script>
    const app = new Vue({
    
      el: '#app',
      data: {
    
        username:'',
        isSingle:true,
        gender:1,
        cityID:101,
        content:''
      }
    })
  </script>
</body>
</html>

相关文章
|
JavaScript
vue中 v-for循环的用法详解
vue中 v-for循环的用法详解
475 0
vue中 v-for循环的用法详解
|
安全 数据库 存储
数据库设计基石:一文搞懂 1NF、2NF、3NF 三大范式
数据库设计常遇数据冗余、增删改异常?根源往往是表结构不规范。本文带你轻松掌握数据库三大范式——1NF、2NF、3NF,从原子列到消除依赖,层层递进,提升数据一致性与可维护性,让数据库设计更高效、安全!#数据库 #范式设计
2860 0
|
NoSQL 关系型数据库 MySQL
探索Sun-Panel:一站式服务器、NAS导航面板、Homepage、浏览器首页
Sun-Panel是一款开源的浏览器导航页解决方案,旨在提供一种可私有化部署的综合体验,融合服务器、NAS管理和首页功能。与市面其他未开源的导航插件不同,Sun-Panel允许用户自定义JS和CSS,支持Docker部署(包括Arm系统)和多账号隔离。通过docker-compose进行简单部署,用户可选择SQLite或配置MySQL、Redis。默认账号为admin@sun.cc,密码12345678。该项目提供了一个更简洁、高效的网页管理工具,以适应数字化时代的需求。
2708 5
探索Sun-Panel:一站式服务器、NAS导航面板、Homepage、浏览器首页
|
Java Maven Spring
查看springboot版本支持最高的java版本
截至最近更新,Spring Boot 3.0及以上版本支持的最高Java版本为Java 17。鉴于技术的不断演进,建议直接参考Spring Boot的官方文档获取最准确的支持信息,因为这些版本兼容性可能会随着新版本的发布而有所变化。选择与你的Spring Boot版本相匹配的Java版本,可以确保充分利用框架特性,同时保证项目的稳定性和前瞻性。
1583 0
|
JavaScript 前端开发 Java
input 的 name 属性的作用?(总结)
input 的 name 属性的作用?(总结)
481 0
|
前端开发
Typora更换炫酷主题(含主题下载云盘链接)
Typora更换炫酷主题(含主题下载云盘链接)
4352 0
Typora更换炫酷主题(含主题下载云盘链接)
|
JavaScript 索引
Vue中对象或数组数据更新但视图不刷新问题的解决策略
Vue中对象或数组数据更新但视图不刷新问题的解决策略
1514 0
|
负载均衡 监控 网络性能优化
网络进阶学习:子网掩码及VLAN划分
网络进阶学习:子网掩码及VLAN划分
903 0
|
Web App开发 JavaScript 前端开发
如何在浏览器中安装使用Vue开发者工具?Vue开发者工具的安装使用?可直接提取插件安装使用
这篇文章介绍了如何在浏览器中安装和使用Vue开发者工具,提供了两种下载方式,包括直接下载编译好的插件和从GitHub上下载源代码后进行打包。文章还详细说明了在Chrome浏览器中加载插件的步骤,以及插件在Vue项目和非Vue项目中的不同表现。
如何在浏览器中安装使用Vue开发者工具?Vue开发者工具的安装使用?可直接提取插件安装使用
|
Java Maven
解决 idea maven plugins 报红波浪线
解决 idea maven plugins 报红波浪线
3558 5