vant时间控件使用方法详解


Posted in Javascript onDecember 24, 2020

本文实例为大家分享了vant时间控件的使用方法,供大家参考,具体内容如下

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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery设置和去除disabled属性的5种方法总结
May 16 Javascript
jquery 字符串切割函数substring的用法说明
Feb 11 Javascript
jquery live()调用不存在的解决方法
Feb 26 Javascript
javascript作用域、作用域链(菜鸟必看)
Jun 16 Javascript
jQuery获取radio选中项的值实例
Jun 18 Javascript
jquery删除table当前行的实例代码
Oct 07 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
Oct 12 Javascript
js实现右键自定义菜单
Dec 03 Javascript
Bootstrap 模态对话框只加载一次 remote 数据的完美解决办法
Jul 09 Javascript
js实现小时钟效果
Mar 25 Javascript
JavaScript中变量提升和函数提升的详解
Aug 07 Javascript
使用Mock.js生成前端测试数据
Dec 13 Javascript
基于Vant UI框架实现时间段选择器
Dec 24 #Javascript
原生jQuery实现只显示年份下拉框
Dec 24 #jQuery
js制作提示框插件
Dec 24 #Javascript
vue+openlayers绘制省市边界线
Dec 24 #Vue.js
在HTML中使用JavaScript的两种方法
Dec 24 #Javascript
vue项目中openlayers绘制行政区划
Dec 24 #Vue.js
Vue+penlayers实现多边形绘制及展示
Dec 24 #Vue.js
You might like
PHP XML操作的各种方法解析(比较详细)
2010/06/17 PHP
使用phpQuery采集网页的方法
2013/11/13 PHP
php7基于递归实现删除空文件夹的方法示例
2017/06/15 PHP
PHP中危险的file_put_contents函数详解
2017/11/04 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
PHP实现微信提现功能
2018/09/30 PHP
类似框架的js代码
2006/11/09 Javascript
Javascript模板技术
2007/04/27 Javascript
浅析Node.js查找字符串功能
2014/09/03 Javascript
js钢琴按钮波浪式图片排列效果代码分享
2015/08/26 Javascript
深入浅析JavaScript中with语句的理解
2016/05/12 Javascript
jQuery简单验证上传文件大小及类型的方法
2016/06/02 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
2016/07/05 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
2016/08/23 Javascript
BootStrap网页中代码显示用法详解
2016/10/21 Javascript
vue.js开发环境安装教程
2017/03/17 Javascript
原生js检测页面加载完毕的实例
2018/09/11 Javascript
vue中v-for循环给标签属性赋值的方法
2018/10/18 Javascript
图文讲解vue的v-if使用方法
2019/02/11 Javascript
详解小程序横屏方案对比
2020/06/28 Javascript
vue-cli3 引入 font-awesome的操作
2020/08/11 Javascript
Vue 数据绑定的原理分析
2020/11/16 Javascript
小结Python用fork来创建子进程注意事项
2014/07/03 Python
用Python计算三角函数之atan()方法的使用
2015/05/15 Python
python计算圆周率pi的方法
2015/07/11 Python
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
python操作MySQL 模拟简单银行转账操作
2017/09/27 Python
python数据结构之线性表的顺序存储结构
2018/09/28 Python
澳大利亚最受欢迎的超级商场每日优惠:Catch
2020/11/17 全球购物
请解释一下webService? 如何用.net实现webService
2014/06/09 面试题
大学生简单自荐信
2013/11/10 职场文书
出国签证在职证明范本
2014/11/24 职场文书
硕士学位申请报告
2015/05/15 职场文书
导游词之潮音寺
2019/09/26 职场文书
python办公自动化之excel的操作
2021/05/23 Python
Win10开机修复磁盘错误怎么跳过?Win10关闭开机磁盘检查的方法
2022/09/23 数码科技