美文网首页
vue的 DatePicker 日期选择器,把选择的日期转化成需

vue的 DatePicker 日期选择器,把选择的日期转化成需

作者: 祈澈菇凉 | 来源:发表于2021-05-13 16:49 被阅读0次

    vue-element-admin一个基于 vue2.0 和 Eelement 的控制面板 UI 框架,这是使用vue技术栈开发的前端程序员的首选管理系统模板,模板以及非常的成熟了,并且有相关的社区和维护人员,开发时候遇到问题也不要慌。

    推荐指数:star:62.1k
    Github 地址:https://github.com/PanJiaChen/vue-element-admin
    Demo体验:https://panjiachen.github.io/vue-element-admin/#/dashboard
    官方文档:https://panjiachen.github.io/vue-element-admin-site/zh/

    今天就来说一下,怎么使用TDatePicker 日期选择器。废话不多说,首先看一下官方文档吧,看看官方文档是怎么给到的例子吧:

    DatePicker 日期选择器
    https://element.eleme.cn/#/zh-CN/component/date-picker

    <template>
      
        <div class="filter-container" style="margin-bottom: 20px">
          <el-date-picker
            v-model="value1"
            type="date"
            style="width: 150px"
            placeholder="选择日期"
          >
          </el-date-picker>
    
          <el-date-picker
            v-model="value2"
            type="date"
            style="width: 150px"
            placeholder="选择日期"
          >
          </el-date-picker>
        </div>
    </template>
    
    <script>
    //调用接口
    import {getQuerycheckList} from "@/api/alarm/query";
    
    export default {
    
      data() {
        return {
          pickerOptions: {
            disabledDate(time) {
              return time.getTime() > Date.now();
            },
            shortcuts: [
              {
                text: "今天",
                onClick(picker) {
                  picker.$emit("pick", new Date());
                },
              },
              {
                text: "昨天",
                onClick(picker) {
                  const date = new Date();
                  date.setTime(date.getTime() - 3600 * 1000 * 24);
                  picker.$emit("pick", date);
                },
              },
              {
                text: "一周前",
                onClick(picker) {
                  const date = new Date();
                  date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
                  picker.$emit("pick", date);
                },
              },
            ],
          },
          //计算日期
          value1: "2020-8-1 09:01",
          value2: "2021-8-1 09:01",
        };
      },
    
      created() {
        //报警查询表格接口定义
        this.getQuerycheckList();
      },
      methods: {
        getQuerycheckList() {
          const params = {
            startTime: this.value1,
            stopTime: this.value2,
            alarmType: 1,
            organId: 1,
            isDispose: 1,
            name: "",
            page: 1,
            rows: 5,
            isPagination: false,
          };
    
          this.dataLoading = true;
          getQuerycheckList(params).then((res) => {
            console.log("报警查询表格接口定义", res);
            this.pvData = res.data;
            this.dataLoading = false;
          });
        },
      },
    };
    </script>
    <style scoped>
    .tab-container {
      margin: 30px;
    }
    </style>
    
    

    根据文档,初具效果
    但是在实际开发中,需要传的参数的时间格式都是根据需要所定的,一般来说有三种

    默认为 Date 对象
    值:"2021-05-12T16:00:00.000Z"
    
    使用 value-format
    值:2021-05-13
    
    时间戳
    值:1620835200000
    

    日期格式

    使用format指定输入框的格式;使用value-format指定绑定值的格式。

    上面的例子里面是使用默认 Date 对象传值,我们这里实际需求中式第二种格式的值:2021-05-13
    那就需要用到第二种,使用 value-format

     <el-date-picker
          v-model="value1"
          type="date"
          placeholder="选择开始日期"
          format="yyyy 年 MM 月 dd 日"
          value-format="yyyy-MM-dd"
        >
        </el-date-picker>
    
        <el-date-picker
          v-model="value2"
          type="date"
          placeholder="选择结束日期"
          format="yyyy 年 MM 月 dd 日"
          value-format="yyyy-MM-dd"
        >
        </el-date-picker>
    

    参考代码

    <template>
      <div class="filter-container" style="margin-bottom: 20px">
        <!-- <el-date-picker
            v-model="value1"
            type="date"
            style="width: 150px"
            placeholder="选择日期"
          >
          </el-date-picker>
    
          <el-date-picker
            v-model="value2"
            type="date"
            style="width: 150px"
            placeholder="选择日期"
          >
          </el-date-picker> -->
    
        <el-date-picker
          v-model="value1"
          type="date"
          placeholder="选择开始日期"
          format="yyyy 年 MM 月 dd 日"
          value-format="yyyy-MM-dd"
        >
        </el-date-picker>
    
        <el-date-picker
          v-model="value2"
          type="date"
          placeholder="选择结束日期"
          format="yyyy 年 MM 月 dd 日"
          value-format="yyyy-MM-dd"
        >
        </el-date-picker>
    
        <el-button
          class="filter-item"
          type="primary"
          icon="el-icon-search"
          @click="searchContList"
          >搜索
        </el-button>
      </div>
    </template>
    
    <script>
    //调用接口
    import { getQuerycheckList } from "@/api/alarm/query";
    
    export default {
      data() {
        return {
          pickerOptions: {
            disabledDate(time) {
              return time.getTime() > Date.now();
            },
            shortcuts: [
              {
                text: "今天",
                onClick(picker) {
                  picker.$emit("pick", new Date());
                },
              },
              {
                text: "昨天",
                onClick(picker) {
                  const date = new Date();
                  date.setTime(date.getTime() - 3600 * 1000 * 24);
                  picker.$emit("pick", date);
                },
              },
              {
                text: "一周前",
                onClick(picker) {
                  const date = new Date();
                  date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
                  picker.$emit("pick", date);
                },
              },
            ],
          },
          //计算日期
          value1: "",
          value2: "",
        };
      },
    
      created() {
        //报警查询表格接口定义
        this.getQuerycheckList();
      },
      methods: {
        // 查询按钮
        searchContList() {
          this.getQuerycheckList();
        },
    
        getQuerycheckList() {
          const params = {
            startTime: this.value1,
            stopTime: this.value2,
            alarmType: 1,
            organId: 1,
            isDispose: 1,
            name: "",
            page: 1,
            rows: 5,
            isPagination: false,
          };
    
          this.dataLoading = true;
          getQuerycheckList(params).then((res) => {
            console.log("报警查询表格接口定义", res);
            this.pvData = res.data;
            this.dataLoading = false;
          });
        },
      },
    };
    </script>
    <style scoped>
    .tab-container {
      margin: 30px;
    }
    </style>
    
    

    效果
    点击搜索按钮的时候,会将选中的日历的日期转化成value-format的格式,传给后端。

    相关文章

      网友评论

          本文标题:vue的 DatePicker 日期选择器,把选择的日期转化成需

          本文链接:https://www.haomeiwen.com/subject/tokxjltx.html