UNPKG

date-picker-week-range

Version:
175 lines (130 loc) 4.27 kB
# week-range-demo A date picker (week-range) based on Elements-Plus 基于element-plus的周范围日期选择器 week-range github:[week-range-date-picker](https://github.com/taetae1114/week-range-date-picker) (如果您觉得好用的话可以给我1颗star:star:,谢谢^-^) 在线预览(online demo):[week-range-demo](https://taetae1114.github.io/week-range-demo/) ## 使用说明 NPM Install&Use: ### :sparkles:注意 Notice:sparkles: `Make sure you have installed element-plus before using this plugin.` `Elements-plus officially provides a day-range selector and a month-range selector, but not a week-range selector, so this plugin was developed.` `本插件基于element-plus开发,使用前需要确保已经安装element-plus依赖!` `element-plus官方提供了日范围选择器和月范围选择器,没有提供周范围的选择器,于是开发了本插件。` ### :sparkles:Element-plus官方文档:sparkles:: https://element-plus.org/zh-CN/ https://element-plus.gitee.io/zh-CN/component/date-picker.html#%E9%80%89%E6%8B%A9%E4%B8%80%E6%AE%B5%E6%97%B6%E9%97%B4 ### :sparkles:如何使用 How to use:sparkles:: ``` npm i date-picker-week-range ``` #### :point_left:全局注册 Global Registration ###### :point_down:main.js: ```js import { createApp } from 'vue' import ElementPlus from 'element-plus' //引入插件 import 'element-plus/theme-chalk/index.css' //默认css样式 import zhCn from 'element-plus/es/locale/lang/zh-cn' //引入中文包,如果你需要的话 import App from './App.vue' import weekRange from 'date-picker-week-range' createApp(App).use(ElementPlus).use(weekRange).mount('#app') ``` ###### :point_down:App.vue: `通过< week-range >使用,通过v-model绑定周选择器选取的值` `分隔符,两个日历选择器的默认显示文字以及shortcuts等都可以自定义传入。` `used by < week-range >, and don't forget to use v-model to bind the values` **注意**:必须引入样式:@import 'date-picker-week-range/style.css' **NOTICE:** you need to import the css file: @import 'date-picker-week-range/style.css ```vue <template> <div> <week-range v-model="value" unlink-panels format="YYYY [Week] ww" range-separator="-" start-placeholder="Choose Start Week" end-placeholder="Choose End Week" :shortcuts="shortcuts" > </week-range> {{ value.toString() }} </div> </template> <script> import { ref } from "vue"; export default { setup() { const value = ref(""); const shortcuts = [ { text: "Last week", value: () => { const end = new Date(); const start = new Date(); return [start, end]; }, }, { text: "Last 3 weeks", value: () => { const end = new Date(); const start = new Date(); start.setTime(start.getTime() - 3600 * 1000 * 24 * 7 * 2); return [start, end]; }, }, { text: "Last 6 weeks", value: () => { const end = new Date(); const start = new Date(); start.setTime(start.getTime() - 3600 * 1000 * 24 * 7 * 5); return [start, end]; }, }, ]; return { value, shortcuts, }; }, }; </script> <style> @import "date-picker-week-range/style.css"; </style> ``` #### :point_left:局部注册 Local Registration `组件内import{WeekRange}注册为组件使用` `Local Registration: import { WeekRange } as a component` ```vue <template> <week-range v-model="value" unlink-panels format="YYYY [Week] ww" range-separator="-" start-placeholder="Choose Start Week" end-placeholder="Choose End Week" > </week-range> </template> <script> import { WeekRange } from "date-picker-week-range"; import { ref } from "vue"; export default { components: { WeekRange, }, setup() { const value = ref(""); return { value, }; }, }; </script> <style> @import "date-picker-week-range/style.css"; </style> ```