1. 概述

老话说的好:行动起来,原地观望是没有用的。

言归正传,今天我们来聊聊 VUE3 的 表单元素。

2. 表单元素

2.1 文本框与数据绑定

<body>
<div id="myDiv"></div>
</body>
<script>
const app = Vue.createApp({ // 创建一个vue应用实例
data() {
return {
message: "hello",}
},
methods : {
getMessage() {
console.info(this.message)
},
},
template : `
<div>
<input v-model="message" />
<button @click="getMessage">获取文本内容</button>
</div>
`
});
// vm 就是vue应用的根组件
const vm = app.mount('#myDiv'); // 绑定id为 myDiv 的元素

使用 v-model 将文本框与数据 message 关联

2.2 多行文本与数据绑定

    const app = Vue.createApp({     // 创建一个vue应用实例
data() {
return {
message: "hello",
}
},
methods : {
getMessage() {
console.info(this.message)
},
},
template : `
<div>
<textarea v-model="message" /><br>
<button @click="getMessage">获取文本内容</button>
</div>
`

与文本框相同,同样使用 v-model 与数据 message 绑定

2.3 单个 checkbox 与数据绑定

    const app = Vue.createApp({     // 创建一个vue应用实例
data() {
return {
checkboxFlag: true,
},
methods : {
getCheckboxFlag() {
console.info(this.checkboxFlag)
},
},
template : `
<div>
<input type="checkbox" v-model="checkboxFlag" />checkbox<br>
<button @click="getCheckboxFlag">获取checkbox设置</button>
</div>
`

当 checkbox 被选中,值是 true,否则值是 false

2.4 自定义单个 checkbox 的值

    const app = Vue.createApp({     // 创建一个vue应用实例
data() {
return {
checkboxFlag2: "选中",
}
},
methods : {
getCheckboxFlag2() {
console.info(this.checkboxFlag2)
},
},
template : `
<div>
<input type="checkbox" v-model="checkboxFlag2" true-value="选中" false-value="未选中" />checkbox<br>
<button @click="getCheckboxFlag2">获取checkbox设置</button>
</div>
`

使用 true-value 和 false-value 自定义 checkbox 的值

2.5 一组 checkbox 与数据绑定

    const app = Vue.createApp({     // 创建一个vue应用实例
data() {
return {
checkboxArr: [],
}
},
methods : {
getCheckboxArr() {
console.info(this.checkboxArr)
},
},
template : `
<div>
<input type="checkbox" v-model="checkboxArr" value="football" />足球<br>
<input type="checkbox" v-model="checkboxArr" value="basketball" />篮球<br>
<input type="checkbox" v-model="checkboxArr" value="tableTennis" />乒乓球<br>
<button @click="getCheckboxArr">获取checkbox设置</button>
</div>
`

一组 checkbox 与同一个数据 checkboxArr 绑定,得到的结果是一个数组

2.6 一组 radio 与数据绑定

    const app = Vue.createApp({     // 创建一个vue应用实例
data() {
return {
radioValue: "tableTennis",
}
},
methods : {
getRadioValue() {
console.info(this.radioValue)
},
},
template : `
<div>
<input type="radio" v-model="radioValue" value="football" />足球<br>
<input type="radio" v-model="radioValue" value="basketball" />篮球<br>
<input type="radio" v-model="radioValue" value="tableTennis" />乒乓球<br>
<button @click="getRadioValue">获取radio设置</button>
</div>
`

radio 是单选,因此得到的值是一个 字符串

2.7 select 与数据绑定

    const app = Vue.createApp({     // 创建一个vue应用实例
data() {
return {
selectValue: "",
}
},
methods : {
getSelectValue() {
console.info(this.selectValue)
},
},
template : `
<div>
<select v-model="selectValue">
<option value="football">足球</option>
<option value="basketball">篮球</option>
<option value="tableTennis">乒乓球</option>
</select>
<br>
<button @click="getSelectValue">获取select设置</button>
</div>
`

在 select 标签上使用 v-model 绑定数据 selectValue

2.8 select 的选项从数据获得

    const app = Vue.createApp({     // 创建一个vue应用实例
data() {
return {
selectOptionArr: [
{text: "足球", value: "football"},
{text: "篮球", value: "basketball"},
{text: "乒乓球", value: "tableTennis"}
],
}
},
methods : {
getSelectValue() {
console.info(this.selectValue)
},
},
template : `
<div>
<select v-model="selectValue">
<option v-for="item in selectOptionArr" :value="item.value">{{item.text}}</option>
</select>
<br>
<button @click="getSelectValue">获取select设置</button>
</div>
`

使用 v-for 得到 option 元素

2.9 select 的返回对象

    const app = Vue.createApp({     // 创建一个vue应用实例

        data() {
return {
selectOptionArr2: [
{text: "足球", value: {name:"football", text:"足球"}},
{text: "篮球", value: {name:"basketball", text:"篮球"}},
{text: "乒乓球", value: {name:"tableTennis", text:"乒乓球"}}
]
}
},
methods : {
getSelectValue() {
console.info(this.selectValue)
},
},
template : `
<div>
<select v-model="selectValue">
<option v-for="item in selectOptionArr2" :value="item.value">{{item.text}}</option>
</select>
<br>
<button @click="getSelectValue">获取select设置</button>
</div>
`

option 绑定的数据 selectOptionArr2 中,value 是一个对象。这样 select 的返回值就是对应的对象。

2.10 文本框的 number 修饰符

        template : `
<div>
{{message}}
<input v-model.number="message" type="number" />
<button @click="getMessage">获取文本内容</button>
</div>
`

在文本框元素中使用 v-model.number ,得到的结果是一个数字类型的值,而不是字符串。

2.11 文本框的 trim 修饰符

        template : `
<div>
{{message}}
<input v-model.trim="message" />
<button @click="getMessage">获取文本内容</button>
</div>
`

在文本框元素中使用 v-model.trim ,得到的结果去去掉两端的空格、Tab、回车等特殊字符。

3. 综述

今天聊了一下 VUE3 的 表单元素,希望可以对大家的工作有所帮助

欢迎帮忙点赞、评论、转发、加关注 :)

关注追风人聊Java,每天更新Java干货。

4. 个人公众号

追风人聊Java,欢迎大家关注

VUE3 之 表单元素的更多相关文章

  1. HTML5 学习总结(二)——HTML5新增属性与表单元素

    一.HTML5新增属性 1.1.contextmenu contextmenu的作用是指定右键菜单. <!DOCTYPE html> <html> <head> & ...

  2. CSS之表单元素

    表单就是收集用户信息的,就是让用户填写的.选择的. 1                <div> 2                         <h3>欢迎注册本网站&l ...

  3. 表单元素的submit()方法和onsubmit事件

    1.表单元素中出现了name="submit"的元素 2.elemForm.submit();不会触发表单的onsubmit事件 3.动态创建表单时遇到的问题 表单元素拥有subm ...

  4. HTML5 学习笔记(二)——HTML5新增属性与表单元素

    目录 一.HTML5新增属性 1.1.contextmenu 1.2.contentEditable 1.3.hidden 1.4.draggable 1.5.data-* 1.6.placehold ...

  5. 【原】如何改变表单元素的外观(for Webkit and IE10)

    表单元素在网页设计中使用的非常频繁,如文本输入框.单选框.复选框.选择列表.上传文件,它们在浏览器中的展现有自带的外观,为了在视觉上取得更好的产品体验,保持客户端的统一,通常产品经理会提出需要改变它的 ...

  6. MVC中使用内建的HTML辅助方法产生表单元素提交表单与button按钮事件的陷阱

    网站模板页有个登陆的退出按钮,当点击时跳转到登陆页面. <button onclick="logout()" >退出</button> $("#l ...

  7. [转]CSS 表单元素对齐详解

    来源:http://blog.sina.com.cn/s/blog_655388ed0100lzyk.html 简单的设置input{vertical-align:middle}即可,完美的: lab ...

  8. VUE 表单元素双向绑定总结

    checkbox最基本用法: <input type="checkbox" v-model="inputdata" checked/> <in ...

  9. iScroll4下表单元素聚焦及键盘的异常问题

    本文是zawa同事写的一篇博文,相信很多在webapp开发中的同学使用iscroll4会遇到的该问题,问过zawa兄的建议,在这里分享给大家,希望能帮助到各位~ 原文地址:http://www.zaw ...

随机推荐

  1. 《转》谈谈基于Kerberos的Windows Network Authentication

    http://www.cnblogs.com/artech/archive/2007/07/05/807492.html 基本原理引入Key Distribution: KServer-Client从 ...

  2. pwnable_start & ciscn_2019_es_2 & ez_pz_hackover_2016 & pwn2_sctf_2016

    花了两天时间做了这四道题,感觉收获很多.但是这种收获感觉写文章写不出自己的思路,就录制了一个视频. pwnable_start 这道题考察了系统调用,shellcode的编写,和动态调试的知识. ci ...

  3. M语言的藏身之地(Power Query 之 M 语言)

    M函数和M公式是Power Query专用的函数与公式,M代码是Power Query专用的用于实现查询功能的代码.M函数公式和M代码统称M语言. 查看M公式:[编辑栏] 查看方法:在Power Qu ...

  4. jetbrain家的fleet(已获得预览权限)直接对标vscode , fleet有望超过vscode吗?今天我们实际操作下

    申请预览版 等待了一周终于得到了预览版的机会 今天就来简单使用下. 前言 工程管理大多使用的是maven , 在maven之前还有ant 这个应该已经没多少人在使用了,或者说新人基本不在使用ant , ...

  5. java 常用类库:BigInteger大整数;BigDecimal大小数(解决double精度损失);

    大整数BigInteger package com.zmd.common_class_libraries; import java.math.BigInteger; /** * @ClassName ...

  6. git pull 拉取报错:fatal: refusing to merge unrelated histories

    fatal: refusing to merge unrelated histories(拒绝合并不相关的历史) 使用 git pull origin master --allow-unrelated ...

  7. RuoYi项目整合Mybatis-Plus 框架

    RuoYi框架默认使用的是Mybatis框架 但是有的习惯使用MP框架,这就很不方便, 不过可以简单进行整合 引入依赖 <dependency> <groupId>com.ba ...

  8. springboot等javaweb项目将jar包安装(打包)到本地Maven仓库

    在开发过程中有时会用到maven仓库里没有的jar包或者本地的jar包 1.打开jar所在文件夹,假设我们要将 taobao-sdk-java-auto_1479188381469-20200121. ...

  9. JAVAWEB导出word文档,遍历表格数据,导出图片

    这是写的另一个导出word方法:https://www.cnblogs.com/pxblog/p/12790904.html 本次使用的是easypoi框架 官方教程:https://opensour ...

  10. 串口之完整封装包含发送和接收(windows+ubuntu已通过初步测试)(持续更新)

    这里下载源码 更新日志 16-08-2021 V1.0.3 1.修复接收数据没有将数据传递给应用层的bug 2.windows版本:设置接收数据相邻字节间间隔为5ms 24-09-2020 V1.0. ...