最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue封裝DateRangePicker組件流程詳細介紹

 更新時間:2022年11月14日 08:42:15   作者:騎上我心愛的小摩托  
在后端管理項目中使用vue來進行前端項目的開發(fā),但我們都知道Vue實際上無法監(jiān)聽由第三方插件所引起的數(shù)據(jù)變化。也無法獲得JQuery這樣的js框架對元素值的修改的。而日期控件daterangepicker又基于JQuery來實現(xiàn)的

前言

日期選擇器在實際使用中,可能會要求默認(rèn)固定日期、回顯日期或者是時間固定點(00:00:00到23:59:59)

一、封裝el-date-picker

<template>
	<div>
		<el-date-picker
			@change="handleChange"
			v-model="dateValue"
			type="daterange"
			align="right"
			unlink-panels
			:clearable=false
			value-format="timestamp"
			range-separator="至"
			start-placeholder="開始日期"
			end-placeholder="結(jié)束日期"
			:picker-options="pickerOptions"
			:default-time="['00:00:00', '23:59:59']">
		</el-date-picker>
	</div>
</template>
<script>
	export default {
		name: 'DateRangePicker',
		props: {
			defaultTimeRange: {
				type: Object,
				default() {
				return {};
			}
		}
	},
	data() {
		return {
		dateValue: '',
		pickerOptions: {
			shortcuts: [{
				text: '最近一周',
				onClick(picker) {
					const end = new Date(new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1);
					const start = new Date(new Date().toLocaleDateString()); ;
					start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
					picker.$emit('pick', [start, end]);
				}
			}, 
			{
				text: '最近一個月',
				onClick(picker) {
					const end = new Date(new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1);
					const start = new Date(new Date().toLocaleDateString()); ;
					start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
					picker.$emit('pick', [start, end]);
				}
			}, 
			{
				text: '最近三個月',
				onClick(picker) {
					const end = new Date(new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1);
					const start = new Date(new Date().toLocaleDateString()); ;
					start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
					picker.$emit('pick', [start, end]);
					}
				}]
			}
		};
	},
	mounted() {
		this.dateValue = [new Date(this.defaultTimeRange.from), new Date(this.defaultTimeRange.to)];
	},
	methods: {
		handleChange(time) {
			time = time || [];
			this.$emit('handleChange', {start_time: time[0], end_time: time[1]});
		}
	}
};
</script>

二、父組件中進行引用

父組件index.vue

<DateRangePicker @handleChange="handleTime" :default-time-range="defaultTimeRange"/>
<script>
import { generateTodayDefaultTimeRange } from '@/utils/utils';
export default {
	data () {
		return {
			defaultTimeRange: { ...generateTodayDefaultTimeRange() }
		}
	}
	methods:{
		handleTime(time) {
			//console.log(time)獲取選擇時間
		}
	}
}
</script>

引用JSutils.js

// 今日默認(rèn)時間范圍
export function generateTodayDefaultTimeRange(date = new Date()) {
  const to = formatDateTime(new Date(date.getTime()));
  const from = formatDateTime(new Date(date.getTime()));
  return { from, to };
}

總結(jié)

  • 綜上所述,可見當(dāng)前日期范圍選擇器默認(rèn)時間是今天
  • default-time設(shè)置時間點固定為起始的00:00:00到23:59:59
  • 快捷項也設(shè)置成當(dāng)前模式,自定義起始和結(jié)束時間文案
  • 當(dāng)前的獲取時間格式為時間戳形式value-format="timestamp"

到此這篇關(guān)于Vue封裝DateRangePicker組件流程詳細介紹的文章就介紹到這了,更多相關(guān)Vue DateRangePicker內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

汝城县| 辽源市| 泾阳县| 松溪县| 沙洋县| 城口县| 灌阳县| 济宁市| 塘沽区| 会理县| 惠州市| 达拉特旗| 日照市| 景德镇市| 克东县| 武邑县| 泗水县| 万盛区| 海口市| 准格尔旗| 青河县| 德阳市| 香格里拉县| 武清区| 武宁县| 平凉市| 西青区| 黄龙县| 高清| 丹凤县| 丰原市| 金平| 阜康市| 方正县| 隆德县| 高碑店市| 葫芦岛市| 额敏县| 东辽县| 德保县| 沂源县|