vant時間控制元件使用方法詳解
阿新 • • 發佈:2020-12-27
本文例項為大家分享了vant時間控制元件的使用方法,供大家參考,具體內容如下
程式碼:
<template> <div class="shoukuan"> <!-- 頭部公共搜尋框 --> <tabbar title="新增團隊活動"></tabbar> <div class="con"> <van-cell-group> <van-field v-model="name" clearable label="活動名稱" placeholder="請選擇活動名稱" /> <van-field v-model="starttime" clearable label="開始時間" placeholder="請輸入開始時間" @focus="start" /> <van-field v-model="endtime" clearable label="結束時間" placeholder="請輸入結束時間" @focus="end" /> </van-cell-group> <van-cell-group> <van-field v-model="message" rows="2" autosize label="活動詳情" type="textarea" maxlength="50" placeholder="請輸入" show-word-limit /> </van-cell-group> </div> <van-button type="primary" size="large" @click="add">確認新增</van-button> <!-- 開始時間控制元件 --> <van-popup v-model="show" position="bottom"> <van-datetime-picker v-model="currentDate" type="datetime" :min-date="minDate" :max-date="maxDate" @confirm="confirm" @cancel="cancel" :formatter="formatter" /> </van-popup> <!-- 結束時間控制元件 --> <van-popup v-model="show1" position="bottom"> <van-datetime-picker v-model="currentDate1" type="datetime" :min-date="minDate" :max-date="maxDate" @confirm="confirm1" @cancel="cancel1" :formatter="formatter" /> </van-popup> </div> </template> <script> import tabbar from "../../components/navbar"; export default { data() { return { name: "",//活動名稱 message: "",//活動詳情 show: false,//開始時間彈窗 show1: false,//結束時間彈窗 minHour: 10,maxHour: 20,minDate: new Date(),maxDate: new Date(2020,11,31),currentDate: new Date(),//開始標準時間 currentDate1: new Date(),//結束標準時間 starttime: "",//開始時間 starttime1: "",//開始時間時間戳 endtime: "",//結束時間 endtime1: "" //結束時間時間戳 }; },components: { tabbar },mounted() {},methods: { // 選擇開始時間 start() { this.show = true; },// 選擇結束時間 end() { this.show1 = true; },// 點選確定 confirm() { this.show = false; this.starttime = this.currentDate.getFullYear() + "年" + (Number(this.currentDate.getMonth()) + 1) + "月" + this.currentDate.getDate() + "日 " + this.currentDate.getHours() + ":" + this.currentDate.getMinutes(); this.starttime1 = new Date(this.currentDate).getTime() / 1000; },// 點選取消 cancel() { this.show = false; },confirm1() { this.show1 = false; this.endtime = this.currentDate1.getFullYear() + "年" + (Number(this.currentDate1.getMonth()) + 1) + "月" + this.currentDate1.getDate() + "日 " + this.currentDate1.getHours() + ":" + this.currentDate1.getMinutes(); this.endtime1 = new Date(this.currentDate1).getTime() / 1000; },cancel1() { this.show1 = false; },// 處理控制元件顯示的時間格式 formatter(type,value) { // 格式化選擇器日期 if (type === "year") { return `${value}年`; } else if (type === "month") { return `${value}月`; } else if (type === "day") { return `${value}日`; } else if (type === "hour") { return `${value}時`; } else if (type === "minute") { return `${value}分`; } return value; },// 點選新增按鈕 add() { if ( !this.name.trim() || !this.starttime.trim() || !this.starttime.trim() || !this.message.trim() ) { this.$toast("請輸入完整的活動資訊"); } else { this.axios .post("/api/agent_team/addTeamActivity",{ activity_name: this.name,activity_content: this.message,start_time: this.starttime1,end_time: this.endtime1 }) .then(data => { this.$toast("新增活動成功"); setTimeout(() => { this.$router.go(-1); },1000); }); } } } }; </script> <style lang="less" scoped> .shoukuan { padding-top: 44px; .van-button--large { width: 92%; margin-left: 4%; margin-top: 25%; } } </style>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。