VUE使用日期时间插件laydate
注:不要在使用npm install安引入了,总报错。
步骤一:在index.html中引入,包去github中下载
<script src="static/layDate/laydate/laydate.js"></script>
步骤二:在组件中直接使用
<template>
<div id="dlgproject">
<input type="text" id="test" />
</div>
</template>
<script type='text/ecmascript-6'>
import { formatDate } from '@/common/commonUtil.js'
export default {
name: "dlgproject",
data() {
return {
date: null,
// 获取全局的laydate,带入到组件中
laydate: window.laydate
}
}
mounted() {
this.laydate.render({
elem: "#test",
type: "datetime",
format: "yyyy-MM-dd",
//赋初值,并用过滤器格式化
value: formatDate(new Date(this.project.projectStartTime), 'yyyy-MM-dd'),
done: value => {
this.date = value;// 选择完时间后,赋值给你的变量
this.project.projectStartTime = value// 选择完时间后,赋值给你的变量
}
});
附:时间过滤器common/commonUtil.js
export function formatDate(date, fmt) {
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
}
let o = {
'M+': date.getMonth() + 1,
'd+': date.getDate(),
'h+': date.getHours(),
'm+': date.getMinutes(),
's+': date.getSeconds()
};
for (let k in o) {
if (new RegExp(`(${k})`).test(fmt)) {
let str = o[k] + '';
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
}
}
return fmt;
};
function padLeftZero(str) {
return ('00' + str).substr(str.length);
}
效果: