前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vant时间控件的使用「建议收藏」

vant时间控件的使用「建议收藏」

作者头像
全栈程序员站长
发布2022-08-31 19:33:43
1.4K0
发布2022-08-31 19:33:43
举报

大家好,又见面了,我是你们的朋友全栈君。

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
<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>

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142577.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档