Vue收集表單數(shù)據(jù)和過(guò)濾器總結(jié)
收集表單數(shù)據(jù)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--vue-->
<script src="https://cdn.staticfile.org/vue/2.7.0/vue.min.js"></script>
</head>
<div id="root">
<h2>個(gè)人信息收集</h2>
<form>
姓名:<input type="text" placeholder="請(qǐng)輸入姓名" v-model.trim="zh"><br>
密碼:<input type="password" placeholder="請(qǐng)輸入密碼" v-model="mm"><br>
年齡:<input type="number" placeholder="輸入數(shù)字" v-model.number="age">
性別: <label><input type="radio" name="sex" v-model="sex" value="男">男</label>
<label><input type="radio" name="sex" v-model="sex" value="女">女</label><br>
愛(ài)好:<label><input type="checkbox" v-model="hobby" value="Java">Java</label>
<label><input type="checkbox"v-model="hobby" value="SpringBoot">SpringBoot</label>
<label><input type="checkbox"v-model="hobby" value="Vue">Vue</label><br>
所屬地區(qū):
<select v-model="whereFrom">
</optgroup>
<optgroup label="江西">
<option value="江西南昌">南昌</option>
<option value="江西贛州">贛州</option>
<option value="江西九江">九江</option>
</optgroup>
<optgroup label="其他">
<option value="其他地方">地方</option>
</optgroup>
</select><br> <!--.lazy是等失去焦點(diǎn)才數(shù)據(jù)綁定 -->
自我介紹:<br><textarea v-model.lazy="introduceMyself" placeholder="這個(gè)填寫(xiě)框 右下角可以拉伸"></textarea><br>
<label> <input type="checkbox" v-model="agree">閱讀并勾選</label>
<a @click.prevent rel="external nofollow" >《協(xié)議書(shū)》</a><br>
<button @click.prevent="tijiao">提交</button>
</form>
</div>
<script type="text/javascript">
const vm = new Vue({
el: '#root',
data: {
zh:'',
mm:'',
age:'',
sex:'男',
hobby:['Java'],
whereFrom:'江西贛州',
introduceMyself:'',
agree:''
},
methods: {
tijiao(){
console.log(JSON.stringify(this._data))
}
}
});
</script>
<body>
</body>
</html>
收集表單數(shù)據(jù)總結(jié)
若:<input type='text'/>,v-model收集的是value值,用戶輸入就是value值。
若<input type=" radio"/>,因?yàn)関-model收集的為value值,所以要給這個(gè)標(biāo)簽配置value值,這樣勾選的收集到的就是這你配置的值
若:<input type=" checkbox"/>
1、沒(méi)有配置input的value屬性,那么收集的就是checked(勾選或未勾選,是一個(gè)布爾值)
2、配置input的value屬性:
v-model的初始值是非數(shù)組(一開(kāi)始定義收集這個(gè)checkbox定義為字符串時(shí)),那么收集的就是有沒(méi)有勾選的布爾值v-model的初始值是數(shù)組,那么收集的才是你定義的value值(勾選了才會(huì)收集)
備注:v-model的三個(gè)修飾符
- lazy:失去焦點(diǎn)后在收集數(shù)據(jù)
- number:輸入的字符串轉(zhuǎn)為有效數(shù)字
- trim:去除輸入前后的空格
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--vue-->
<script src="https://cdn.staticfile.org/vue/2.7.0/vue.min.js"></script>
<script src="Vue文件/dayjs.min.js"></script>
</head>
<div id="root">
格式化前:{{NowTime}}<br>
<!-- 使用計(jì)算屬性器-->
使用計(jì)算屬性器格式化后:{{relTime}}<br>
<!-- 使用方法-->
使用方法格式化后:{{MethodTime()}}<br>
<!-- 使用過(guò)濾器-->
使用過(guò)濾器格式化后:{{NowTime | filterTime}}<br>
<!--濾器格式化后分割前四位-->
使用過(guò)濾器格式化后分割:{{NowTime | filterTime |mySlice}}<br>
</div>
<script type="text/javascript">
//配置全局過(guò)濾器
Vue.filter('mySlice',function (value) {
//分割前四位
return value.slice(0,4)//從第一位開(kāi)始
})
const vm = new Vue({
el: '#root',
data: {
NowTime:1669339250633,
},
methods: {
MethodTime(){
return dayjs(this.NowTime).format('YYYY-MM-DD HH:mm:ss')
}
},
computed:{
relTime(){
return dayjs(this.NowTime).format('YYYY-MM-DD HH:mm:ss')
}
},
filters:{
filterTime(value){
return dayjs(value).format('YYYY-MM-DD HH:mm:ss')
},
// 分割字串前四位
// mySlice(value){
// return value.slice(0,4)//從第一位開(kāi)始
// }
}
});
console.log(vm)
</script>
<body>
</body>
</html>運(yùn)行結(jié)果:

過(guò)濾器小結(jié)
定義:對(duì)要顯示的數(shù)據(jù)進(jìn)行特定格式化后再顯示(使用與一些簡(jiǎn)單邏輯的處理)
語(yǔ)法:
- 注冊(cè)過(guò)濾器:Vue.filter(name,callback)或new Vue{filters:{}}
- 使用過(guò)濾器:{{xxx | 過(guò)濾器名}} 或者 v-bind:屬性="xxx | 過(guò)濾器名"
備注:
- 過(guò)濾器也可以接受額外參數(shù)、多個(gè)過(guò)濾器件也可以串聯(lián)
- 過(guò)濾器并沒(méi)有改變?cè)镜臄?shù)據(jù),是產(chǎn)生新的對(duì)應(yīng)的數(shù)據(jù)
到此這篇關(guān)于Vue收集表單數(shù)據(jù)和過(guò)濾器的文章就介紹到這了,更多相關(guān)Vue收集表單數(shù)據(jù)和過(guò)濾器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
導(dǎo)致VUE頁(yè)面不刷新的問(wèn)題分析及解決方法
由于 Vue 會(huì)在初始化實(shí)例時(shí)對(duì) property 執(zhí)行 getter/setter 轉(zhuǎn)化,所以 property 必須在 data 對(duì)象上存在才能讓 Vue 將它轉(zhuǎn)換為響應(yīng)式的,這篇文章主要介紹了導(dǎo)致VUE頁(yè)面不刷新的問(wèn)題分析及解決方法,需要的朋友可以參考下2024-04-04
解決Vue動(dòng)態(tài)加載本地圖片問(wèn)題
這篇文章主要介紹了Vue如何動(dòng)態(tài)加載本地圖片的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10
vue cli 3.x 項(xiàng)目部署到 github pages的方法
這篇文章主要介紹了vue cli 3.x 項(xiàng)目部署到 github pages的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-04-04
vue-better-scroll 的使用實(shí)例代碼詳解
這篇文章主要介紹了vue-better-scroll 的使用實(shí)例代碼詳解,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-12-12
Vue3+script setup+ts+Vite+Volar搭建項(xiàng)目
本文主要介紹了Vue3+script setup+ts+Vite+Volar搭建項(xiàng)目,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
vue使用window.open()跳轉(zhuǎn)頁(yè)面的代碼案例
這篇文章主要介紹了vue中對(duì)window.openner的使用,vue使用window.open()跳轉(zhuǎn)頁(yè)面的代碼案例,本文通過(guò)實(shí)例代碼給大家詳細(xì)講解,需要的朋友可以參考下2022-11-11

