element-ui 老版本通过组件方式实现10位时间戳的获取

1,815 阅读1分钟

老版[2.15.6]本似乎没有支持10位时间戳的参数,只有13位的时间戳。 element.eleme.cn/#/zh-CN/com…

格式含义备注举例
yyyy2017
M不补01
MM01
W仅周选择器的 format 可用;不补01
WW仅周选择器的 format 可用01
d不补02
dd02
H小时24小时制;不补03
HH小时24小时制03
h小时12小时制,须和 A 或 a 使用;不补03
hh小时12小时制,须和 A 或 a 使用03
m分钟不补04
mm分钟04
s不补05
ss05
AAM/PM仅 format 可用,大写AM
aam/pm仅 format 可用,小写am
timestampJS时间戳仅 value-format 可用;组件绑定值为number类型1483326245000
[MM]不需要格式化字符使用方括号标识不需要格式化的字符 (如 [A] [MM])MM

由于是老项目不想升级,故通过组件方式修改为10位时间戳。

<template>
  <div>
    <el-date-picker
      type="datetime"
      :placeholder="placeholder"
      v-model="dateTime"
      style="width: 200px;"
      value-format="timestamp"
      @change="handleDate"
    />
    <div></div>
  </div>
</template>

<script>

export default {
  name: "ExDateTime",
  props: {
    value: {},
    placeholder:{}
  },
  data() {
    return {
      dateTime: null
    };
  },

  mounted(){
      //10位时间戳转13位时间戳
      this.dateTime = this.value * 1000;
  },

  watch:{
      //重置值
      value:function(n,o){
        if(n==undefined){
            this.dateTime = null;
        }
      }
  },
 
  methods: {
    handleDate(date) {
        //13位时间戳转10位时间戳
        this.$emit("input",date/1000);
    },
   
  }
};
</script>

使用方式 [先引入组件]

 <ex-date-time :placeholder="'添加时间'" v-model="queryForm.addTime" style="width: 200px;" class="filter-item" />