Vue3-15 表单的绑定

在Vue 3中,表单输入绑定是实现动态数据双向绑定的重要部分,它让开发者可以轻松地管理和响应用户输入。本文将详细介绍如何在Vue 3中利用v-model指令以及一些特定修饰符来处理不同类型的表单输入。

响应式表单数据

首先,我们定义了一个响应式对象form来存储表单的各种输入值:

const form = reactive({inputText: "",textAreaText: "",checkboxValue: false,radioValue: '1',selectValue: '',doubleSelectValue: []
});

在这个示例中,form对象包含了输入框、文本域、复选框、单选框、单选下拉框和多选下拉框的值。

单个输入框的绑定

对于普通的输入框,我们可以直接使用v-model指令来进行双向绑定,例如:

<el-input v-model="form.inputText"></el-input>

这会将输入框的值与form.inputText进行绑定,用户输入时,form.inputText会自动更新。

文本域的绑定

文本域的绑定方式类似,也是使用v-model指令:

<el-input type="textarea" v-model="form.textAreaText"></el-input>

同样地,form.textAreaText会自动跟踪文本域的输入内容。

复选框和单选框的绑定

复选框和单选框的绑定稍微复杂一些,我们使用v-model指令来绑定布尔值或字符串值:

<el-checkbox v-model="form.checkboxValue"></el-checkbox>
<el-radio v-model="form.radioValue" label="1">备选项1</el-radio>
<el-radio v-model="form.radioValue" label="2">备选项2</el-radio>

这里,form.checkboxValue会跟踪复选框的选中状态,而form.radioValue则会根据选中的单选按钮的值进行更新。

下拉框的绑定

对于下拉框,我们使用v-model指令来绑定选择的值:

<el-select v-model="form.selectValue" placeholder="请选择"><el-option v-for="item in data" :key="item.id" :label="item.value" :value="item.id"></el-option>
</el-select>

在这个例子中,form.selectValue会随着用户选择的不同选项而更新。

多选下拉框的绑定

多选下拉框的绑定方式类似,需要使用v-model指令并添加multiple属性:

<el-select v-model="form.doubleSelectValue" placeholder="请选择" multiple><el-option v-for="item in data" :key="item.id" :label="item.value" :value="item.id"></el-option>
</el-select>

form.doubleSelectValue会成为一个数组,包含用户选择的所有选项的值。

特定修饰符的使用

除了基本的v-model指令外,Vue 3还提供了一些修饰符来处理特定的输入情况,例如:

  • .lazy 修饰符:对于输入框,使用.lazy修饰符可以将输入事件转变为change事件处理,确保只有在失去焦点或按下回车键后才更新绑定的值。
  • .number 修饰符:将用户的输入转换为数值类型。
  • .trim 修饰符:自动过滤用户输入的首尾空白字符。

例如:

<el-input v-model.lazy="form.inputText"></el-input>
<el-input v-model.number="form.inputText"></el-input>
<el-input v-model.trim="form.inputText"></el-input>
总结

通过Vue 3中的v-model指令和响应式数据,我们能够简洁而高效地管理各种表单输入。利用修饰符,我们可以进一步控制输入的行为,使得表单的处理变得更加灵活和友好。希望本文能帮助您更好地理解和应用Vue 3中的表单输入绑定功能!

 这些事件修饰符和按键修饰符可以帮助你在 Vue 3 中更加精确地控制和处理用户的交互行为,提升应用的交互性和用户体验。

全部编码
<!--条件和列表渲染-->
<template><el-input v-model="form.inputText"></el-input>{{ form.inputText }}<el-input type="textarea" v-model="form.textAreaText"></el-input>{{ form.textAreaText }}<el-checkbox id="checkbox" v-model="form.checkboxValue" />{{ form.checkboxValue }}<el-radio v-model="form.radioValue" label="1">备选项1</el-radio><el-radio v-model="form.radioValue" label="2">备选项2</el-radio>{{ form.radioValue }}<el-select v-model="form.selectValue" placeholder="请选择"><el-option v-for="item in data" :key="item.id" :label="item.value" :value="item.id"></el-option></el-select>{{ form.selectValue }}<el-select v-model="form.doubleSelectValue" placeholder="请选择" multiple><el-option v-for="item in data" :key="item.id" :label="item.value" :value="item.id"></el-option></el-select>{{ form.doubleSelectValue }}<!--change之后更新,说实话没啥感觉--><el-input v-model.lazy="form.inputText"></el-input>{{ form.inputText }}<!--输入不进去--><el-input v-model.number="form.inputText"></el-input>{{ form.inputText }}<!--输入不进去空格--><el-input v-model.trim="form.inputText"></el-input>{{ form.inputText }}
</template>
<script lang="ts" setup>
import { computed, nextTick } from 'vue'
import { ref } from 'vue'
import { reactive } from 'vue'
import { ElMessage } from 'element-plus'
const form = reactive({inputText: '',textAreaText: '',checkboxValue: false,radioValue: '1',selectValue: '',doubleSelectValue: []
})const data = reactive([{id: 1,value: '唱歌'},{id: 2,value: '跳舞'}
])
</script>
<style scoped>
</style>

  关注公众号:资小库,问题快速答疑解惑

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

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

相关文章

Linux /etc/profile 详解

概述 Linux是一个多用户的操作系统。每个用户登录系统后&#xff0c;都会有一个专用的运行环境。通常每个用户默认的环境都是相同的&#xff0c;这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制&#xff0c;其方法就是修改相应的系统环境变量&…

如何检测代理IP是否有效?检查因素与方法全解

代理IP是一种网络代理技术&#xff0c;它是通过中间服务器来转发网络请求的IP地址。当我们使用代理IP时&#xff0c;我们的真实IP地址会被隐藏起来&#xff0c;而代理服务器的IP地址会被用作我们的身份标识。使用代理IP的步骤如下&#xff1a; 1.选择合适的代理服务器 考虑服务…

【JavaEE】网络原理——传输层协议

&#x1f921;&#x1f921;&#x1f921;个人主页&#x1f921;&#x1f921;&#x1f921; &#x1f921;&#x1f921;&#x1f921;JavaEE专栏&#x1f921;&#x1f921;&#x1f921; &#x1f921;&#x1f921;&#x1f921;上一篇文章&#xff1a;【JavaEE】网络编程—…

CDGA|数据治理:标准化处理与确保数据可溯源性

在当今信息爆炸的时代&#xff0c;数据已成为企业决策、科学研究和政府管理的核心要素。然而&#xff0c;随着数据量的不断增加和来源的多样化&#xff0c;数据治理成为了一个亟待解决的问题。特别是在处理复杂数据时&#xff0c;标准化处理和确保数据的可溯源性显得尤为重要。…

ERROR: No matching distribution found for matplotlib

1.问题&#xff1a;安装matplotlib报错&#xff0c;如下图所示&#xff1a; 2.通过换源&#xff0c;输入以下命令&#xff1a;python -m pip install matplotlib -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com&#xff0c;但是还是无效 3.在pycharm中升级…

【java算法专场】滑动窗口(上)

目录 滑动窗口 基本概念 长度最小的子数组 算法分析 算法步骤 示例 算法代码 无重复字符的最长子串 算法分析 算法步骤 示例 算法代码 最大连续1的个数 III 算法分析 算法步骤 示例 算法代码 将 x 减到 0 的最小操作数 算法分析 算法步骤 示例 算法代码 滑动…

location匹配的优先级和重定向

nginx的重定向&#xff08;rewrite&#xff09; location 匹配 location匹配的就是后面的uri /wordpress 192.168.233.10/wordpress location匹配的分类和优先级 1.精确匹配 location / 对字符串进行完全匹配&#xff0c;必须完全符合 2.正则匹配 ^-前缀级别&#xff…

[Vulnhub] Stapler wp-videos+ftp+smb+bash_history权限提升+SUID权限提升+Kernel权限提升

信息收集 IP AddressOpening Ports192.168.8.106TCP:21,22,53,80,123,137,138,139,666,3306, Using Nmap for scanning: $ nmap -p- 192.168.8.106 --min-rate 1000 -sC -sV The results are as follows: PORT STATE SERVICE VERSION 20/tcp closed ftp-data…

Java常用的三种注解

1、 基本注解 一、注解的概念 1、注解也叫元数据&#xff0c;是JDK1.5版本开始引入的一个特性&#xff0c;用于对代码进行说明&#xff0c;可以对包、类、接口、字段、方法参数、局部变量等进行注解。注解的形式是“单词”。 在不改变原有逻辑的情况下&#xff0c;使用注解在源…

白化(Whitening)的原理是什么?

**白化&#xff08;Whitening&#xff09;**是数据预处理中的一个重要步骤&#xff0c;其目的是将原始数据的各个维度之间的线性相关性去除&#xff0c;并使得每个维度的方差都为1。通过白化&#xff0c;可以简化后续的数据处理步骤&#xff0c;如独立成分分析&#xff08;ICA&…

【简历】兰州某大学一本硕士:面试通过率基本是为0

注&#xff1a;为保证用户信息安全&#xff0c;姓名和学校等信息已经进行同层次变更&#xff0c;内容部分细节也进行了部分隐藏 简历说明 这是一个一本硕士的Java简历&#xff0c;那这个简历因为学校本身&#xff0c;它是一个一本的硕士&#xff0c;我们一般认为这一本硕士&a…

如何增强人工智能的人岗匹配?

你玩过媒人游戏吗&#xff1f;这不是一件容易的事情。在家庭作业的世界里&#xff0c;匹配员工的技能通常是非常具有挑战性的。然而&#xff0c;技术在简化过程中起着至关重要的作用。利用人工智能构建技能本身将建立一个更准确、更动态的数据库&#xff0c;以促进未来人工智能…

Vxe UI vxe-table column 根据内容的长度来自适应列的宽度

Vxe UI vue vxe-table 根据内容的长度来自适应列的宽度 列的 width 宽度支持多种格式&#xff08;默认情况下是等比例分配&#xff09;&#xff1a; 固定像素&#xff1a;100 或者 ‘100px’ 百分比&#xff1a;‘20%’ 自适应内容&#xff1a;‘auto’ 代码 <template&g…

超声波清洗机哪个牌子好?耐用的超声波眼镜清洗机推荐

超声波清洗机大家也一定不陌生了&#xff0c;提起超声波清洗机啊&#xff0c;大家对他的印象一定是清洗眼镜&#xff0c;这话没毛病&#xff0c;但是&#xff0c;这仅仅只是清洗机的基本功&#xff0c;清洗机的功能远远比咱们想象中的强大&#xff0c;但是目前市面上的小型超声…

【第31章】MyBatis-Plus之注解配置

文章目录 前言一、注解介绍二、注解列表总结 前言 本文详细介绍了 MyBatisPlus 注解的用法及属性&#xff0c;提供了源码链接以便深入理解。欢迎通过下方链接查看注解类的源码。 Mybatis-Plus Annotation 源码 一、注解介绍 Mybatis-Plus注解统一存放在com.baomidou.mybatis…

【JavaScript 算法】动态规划:最优子结构与重叠子问题

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 一、最优子结构1.1 最优子结构的例子1.2 如何识别最优子结构 二、重叠子问题2.1 重叠子问题的例子2.2 解决重叠子问题的方法2.3 如何识别重叠子问题 三、经典动态规划问题及其 JavaScript 实现3.1 斐波那契数列3.2 背包问题…

GAMMA软件适配航天宏图一号多星干涉数据

文章目录 1.航天宏图一号 X-频段 多基雷达星座2.航天宏图算法人员小结3.双基成像与单基成像干涉处理区别 GAMMA软件是世界著名的瑞士GAMMA遥感公司开发的专门用于干涉雷达数据处理的全功能商业软件。作为业内标杆软件&#xff0c;被全球范围内的研究人员、公司和公共机构广泛使…

MS5199T芯片解决方案以及驱动程序(国产三路5VADC)

一、MS5199T芯片介绍 MS5198T/MS5199T 为适合高精度测量应用的低功耗、低噪 声、三通道差分输入的 16bit/24bit 模数转换器。其内部集成了低 噪声输入缓冲器、低噪声仪表放大器,当增益设置为 64,更新 速率为 4.17Hz 时,均方根噪声为 10nV。 MS5198T/MS5199T 还集 成了低端电…

使用F1C200S从零制作掌机之debian文件系统完善NES

一、模拟器源码 源码&#xff1a;https://files.cnblogs.com/files/twzy/arm-NES-linux-master.zip 二、文件系统 文件系统&#xff1a;debian bullseye 使用builtroot2018构建的文件系统&#xff0c;使用InfoNES模拟器存在bug&#xff0c;搞不定&#xff0c;所以放弃&…

Datawhale 2024 年 AI 夏令营第二期——电力需求预测挑战赛

#AI夏令营 #Datawhale #夏令营 1.赛事简介 随着全球经济的快速发展和城市化进程的加速&#xff0c;电力系统面临着越来越大的挑战。电力需求的准确预测对于电网的稳定运行、能源的有效管理以及可再生能源的整合至关重要。 2.赛事任务 给定多个房屋对应电力消耗历史N天的相关…