Vue v-model收集表单数据

news2024/9/20 22:37:37

Vue v-model收集表单数据

  • 1 单行文本
  • 2 多行文本
  • 3 复选框
  • 4 单选按钮
  • 5 选择器
  • 6 修饰符

1 单行文本

对于输入框input,直接使用v-model绑定属性即可,该属性需要在data中定义。用法如下:

<input v-model="content">
var vm = new Vue({
    ...
    data: {
        content: ""
    }
})

示例:在输入框中输入内容,该内容显示在输入框下

<div id="app">
    <input type="text" v-model="content">
    <br>
    {{content}}
</div>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            content: ""
        }
    })
</script>

在这里插入图片描述

2 多行文本

多行文本textarea直接使用v-model绑定属性即可,该属性在data中定义。具体如下:

<textarea v-model="text"></textarea>
var vm = new Vue({
    ...
    data: {
        text: ""
    }
})

示例代码:

<div id="app">
    <textarea v-model="text"></textarea>
    <br>
    <div style="white-space: pre-line;">{{ text }}</div>
</div>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            text: ""
        }
    })
</script>

在这里插入图片描述

3 复选框

复选框除了要用v-model绑定名称之外,还需要给input传递value值,表示选中之后的值。具体如下:

<input type="checkbox" v-model="xxx" value="value1">

无论出现几个复选框,这一组复选框的v-model的值都是xxxvalue值则根据按钮的内容随意设置。如果是选项组,则在data中要初始化xxx为空数组,如果是单个复选框,初始化为空字符串即可,具体如下:

var vm = new Vue({
    el: "#app",
    data: {
        xxx: [] / ""
    }
})

示例代码:

<div id="app">
    <input type="checkbox" v-model="fruit" value="apple">苹果
    <input type="checkbox" v-model="fruit" value="banana">香蕉
    <input type="checkbox" v-model="fruit" value="peer">鸭梨
    <div>爱吃的水果有:{{fruit}}</div>
</div>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            fruit: []
        }
    })
</script>

在这里插入图片描述

4 单选按钮

单选按钮除了要用v-model绑定名称之外,还需要给input传递value值,表示选中之后的值。具体如下:

<input type="radio" v-model="xxx" value="value1">

单选按钮一般是搭配使用的,那么这一组的单选按钮的v-model的值都是xxxvalue值则根据按钮的内容随意设置。如果默认选中某个按钮,则xxx需要在data中初始化为该按钮的value值,具体如下:

var vm = new Vue({
    el: "#app",
    data: {
        xxx: "value1" // 表示默认选中value值为value1的选项
    }
})

示例代码:

<div id="app">
    <input type="radio" v-model="number" value="One">One
    <input type="radio" v-model="number" value="Two">Two
    <input type="radio" v-model="number" value="Three">Three
    <div>选中的值是:{{number}}</div>
</div>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            number: "Two"
        }
    })
</script>

在这里插入图片描述

5 选择器

选择器要在select上面使用v-model绑定属性,并且这个属性要在data中进行定义,而option可以选择是否传入value属性,如果传入了value属性,那么属性的值为value值,如果没有传入,属性的值为选项的内容。具体如下:

<select v-model="xxx">
    <option value="value1">option1</option>
    <option>option2</option>
    ...
</select>
var vm = new Vue({
    el: "#app",
    data: {
        xxx: ""
    }
})

示例代码:

<div id="app">
    <select v-model="hasValue">
        <option value="has">有value值,value为has</option>
        <option>无value值</option>
    </select>
    选择了:{{hasValue}}
</div>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            hasValue: ""
        }
    })
</script>

在这里插入图片描述
在上面的效果中,我们可以看到,最初的时候选择器是空白的,如果要设置一个默认选项,那么在data中定义的属性值要初始化,有value属性要初始化为value属性,无则初始化为option的内容。

var vm = new Vue({
    el: "#app",
    data: {
        xxx: "value值/option的内容"
    }
})

示例代码:

<div id="app">
    <select v-model="hasValue">
        <option value="has">有value值,value为has</option>
        <option>无value值</option>
    </select>
    选择了:{{hasValue}}
</div>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            hasValue: "无value值"
        }
    })
</script>

在这里插入图片描述

6 修饰符

v-model提供了一些修饰符:

修饰符说明
.number将输入的合法符串转为数字
.lazy监听change事件而不是input
.trim移除输入内容两端空格

例如,当收集用户年龄时,类型应该是number,但是input收集的内容是string类型:

<div id="app">
    <input type="number" v-model="age">
</div>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            age: ""
        }
    })
</script>

在这里插入图片描述
这是需要用到.number修饰符,将类型改为number类型:

<input type="number" v-model.number="age">

在这里插入图片描述


例如,当输入框会输入很多内容时,v-model会对内容实时进行监视,使用.lazy修饰符可以在内容全部输入完成之后,文本框失去焦点时再获取:

<div id="app">
    <textarea v-model.lazy="text"></textarea>
    具体内容:{{text}}
</div>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            text: ""
        }
    })
</script>

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/64663.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣 394. 字符串解码

题目 给定一个经过编码的字符串&#xff0c;返回它解码后的字符串。 编码规则为: k[encoded_string]&#xff0c;表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的&#xff1b;输入字符串中没有额外的空格&#x…

快速上手Django(六) -Django之Django drf 序列化器Serializer类

文章目录快速上手Django(六) -Django之Django drf 序列化器Serializer类1. 背景2. 使用思路3. 代码demo4. 【重要】序列化类 ModelSerializer5. DRF序列化器to_representation()和to_internal_value()方法to_representation如何使用示例&#xff1a;例如处理返回的日期格式二、…

Habor私有仓库

Harbor简介   Harbor是一个用于存储和分发Docker镜像的企业级Registry的服务器镜像仓库&#xff0c;通过添加一些企业必需的功能特性&#xff0c;例如安全、标识和管理等&#xff0c;扩展了开源Docker Distribution。作为一个企业级私有Registry服务器&#xff0c;Harbor提供…

Python基础知识进阶之正则表达式

一.match re.match 是从字符串的起始位置匹配一个模式&#xff0c; 匹配成功 re.match 方法返回一个匹配的对象&#xff0c;否则返回 None。 re.match(pattern, string, flags0) pattern&#xff1a; 匹配的正则表达式。 string&#xff1a; 要匹配的字符串。 flags&…

LeetCode刷题复盘笔记—一文搞懂完全背包之322. 零钱兑换问题(动态规划系列第十四篇)

今日主要总结一下动态规划完全背包的一道题目&#xff0c;322. 零钱兑换 题目&#xff1a;322. 零钱兑换 Leetcode题目地址 题目描述&#xff1a; 给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。 计算并返…

MATLAB绘制伪彩图和切片轮廓线图

n6%定义轮数 r(0:n)/n;%定义轮的半径 thetapi*(-n:n)/n;%定义轮的扇区角 Xr*cos(theta); Yr*sin(theta);%定义网格顶点 Cr*cos(2*theta);%定义色图 pcolor(X,Y,C)%绘制伪彩图axis equal tight[x y z v]flow;%打开水流数据 hcontourslice(x,y,z,v,[1:9],[],[0],linspace(-8,2,10…

【面试题】http协议

1. http状态码 1xx&#xff1a;服务器收到请求&#xff0c;但是没有返回结果。2xx&#xff1a;请求成功。200成功。3xx&#xff1a;重定向。301永久重定向&#xff0c;302临时重定向&#xff0c;304资源未被修改。4xx&#xff1a;客户端错误。404资源未找到&#xff0c;403没有…

[附源码]计算机毕业设计基于Springboot药品仓库及预警管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

引擎入门 | Unity UI简介–第2部分(4)

本期我们继续为大家进行Unity UI简介&#xff08;第二部分&#xff09;的后续教程 本篇内容 6.添加设置对话框 7.设置对话框的背景图像 8.添加标签 文章末尾可免费获取教程源代码 本篇本篇Unity UI简介&#xff08;第二部分&#xff09;篇幅较长&#xff0c;分为八篇&…

Xylan-Alkyne木聚糖-炔基|炔基-PEG-木聚糖

Xylan-Alkyne木聚糖-炔基|炔基-PEG-木聚糖 中文名称&#xff1a;木聚糖-炔基 英文名称&#xff1a;Xylan-Alkyne 别称&#xff1a;炔基修饰木聚糖&#xff0c;炔基-木聚糖 还可以提供PEG接枝修饰木聚糖&#xff0c;Xylan-PEG-Alkyne 木聚糖-聚乙二醇-炔基&#xff0c;炔基-…

​创业15年,50岁回到农村过上退休的生活,上班和创业是两难的选择。

我是老马&#xff0c;现在在农村老家生活1个月。 15年前&#xff0c;大学毕业三年后&#xff0c;在县城里搞到一份稳定的工作&#xff0c;朝九晚五&#xff0c;不慌不忙&#xff0c;结婚生子&#xff0c;后来又这样安安稳稳的过了10年&#xff0c;攒了一些钱&#xff0c;但生活…

【HTML学生作业网页】基于HTML+CSS+JavaScript仿南京师范大学泰州学院(11页)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

llvm-ir之核心类设计

llvm-ir之核心类设计引言1 逻辑关系2 class Module3 class IRBuilder4 class Instruction5 class Constant引言 llvm IR是llvm对代码的一种中间表示。它来源AST(抽象语法树)&#xff0c;是llvm代码优化的主要对象。 1 逻辑关系 IR的很多组成元素都是以Value为基类。llvm并没有…

【web3空投】SINSO 主网公测空投

Web3.0 基础设施简化去中心化的热数据缓存和数据治理 文章目录1. SINSO Token介绍2. SINSO 主网公测空投2.1 时间2.2 奖励2.3 参与方式2.3.1 第一步(必须完成)2.3.2 第二步(成为矿工)2.3.3 第三步(成为节点担保人)2.3.4 第四步&#xff1a;公开测试反馈表3. 注意事项4. 成为矿工…

这几个方法让你实现EXCEL文件翻译成中文

在日常的工作中&#xff0c;如果遇到需要将EXCEL翻译成其它语言的的时候&#xff0c;我们该怎么办呢&#xff1f;一行一行的复制查找&#xff0c;然后再粘贴回表格中吗&#xff1f;这样操作的话&#xff0c;不仅浪费时间和精力&#xff0c;而且效率还非常的低。那有什么方法可以…

Java项目:SSM图书馆图书管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 读者角色包含以下功能&#xff1a; 读者登录,图书查询,借阅图书,借阅管理,修改密码,借阅记录等功能。 管理员角色包含以下功能&#xff1a; 管理…

Android 系统启动到App 界面完整详解~

通过本篇文章&#xff0c;你将了解到&#xff1a; Android 系统启动流程概览ServiceManager 进程作用Zygote 进程创建与fork子进程system_server 进程作用App 与 system_server 交互Activity 与 View的展示全流程图 1. Android 系统启动流程概览 init 是用户空间的第一个进程&a…

ARM基础(1):Cortex-M3寄存器

Cortex-M3处理器的寄存器包括R0~R15和一些特殊的寄存器。其中R0到R12是通用寄存器&#xff0c;但是一些16位的Thumb指令只能访问R0到R7(低寄存器)&#xff0c;而32位的Thumb-2指令则可以访问所有这些寄存器。特殊寄存器只能通过特殊访问指令访问。 所有的寄存器如下图所示&…

Java安全--篇四-Java原生反序列化

Java原生序列化和反序列化 看理论&#xff1a; 序列化和反序列化的详解_tree_ifconfig的博客-CSDN博客_序列化和反序列化 java序列化与反序列化全讲解_mocas_wang的博客-CSDN博客_java反序列化 java 序列化和反序列化 - xbwang520 - 博客园 序列化和反序列化的简单图解&am…

[附源码]Python计算机毕业设计Django微录播室预约管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…