实现一个周选择器组件

1、需求:

默认每个月的第一个周一为该月的第一周开始,规则如图所示
在这里插入图片描述

2、使用到的工具:

vue2+vant2+momentjs

3、父组件:

data中定义涉及到的参数

minDate: new Date(this.$moment().subtract(12,'month'))
maxDate: new Date(),
selectWeek: []

处理selectWeek,获取当前日期所在的周

getWeek() {
	// 当天是周几
	let weekDay = this.$moment().weekday();
	if(weekDay === 0) {
		// 周日
		weekDay = 7;
	}
	let monday = this.$moment().subtract(weekDay - 1, 'd').format('YYYY-MM-DD');
	let sunday = this.$moment().add(7 - weekDay, 'd').format('YYYY-MM-DD');
	return [monday, sunday]
}

4、周选择器组件:

<template>
	<!-- 周选择器组件 -->
	<van-picker
		ref="pickerWeek"
		@confirm="confirm"
		@change="handleChange"
		@cancel="cancel"
		show-toolbar
		title="选择周"
		:columns="columns"
		:item-height="$lessVariables.vanPickerItemHeight"/>
</template>

文件参考资源文件:文件地址

5、展示效果如图:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42563079/article/details/131598072