101 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# jia-weekPicker 周选择器组件
一个用于选择指定年月中某一周的 uni-app 组件。支持设置可选日期范围、自定义主题色等功能。
## 特性
- 按周选择日期
- 支持自定义可选日期范围
- 自定义主题色
- 流畅的切换动画
- 周一作为每周的第一天
- 支持自定义标题和按钮文本
## 安装方法
在 uni-app 插件市场中搜索 `jia-weekPicker` 并导入到项目中。
## 基础用法
```vue
<template>
<view>
<button @click="openPicker">打开周选择器</button>
<jia-weekPicker
ref="weekPicker"
:value="selectedDate"
@change="handleWeekChange"
/>
</view>
</template>
<script>
export default {
data() {
return {
selectedDate: "2024-03-18", // 默认选中日期
};
},
methods: {
openPicker() {
this.$refs.weekPicker.open();
},
handleWeekChange(week) {
console.log("选中的周:", week);
// week 结构如下:
// {
// startDate: '2024-03-18', // 周开始日期
// endDate: '2024-03-24', // 周结束日期
// timestamp: 1711209600000, // 结束日期的时间戳
// weekNumber: 3 // 当月第几周
// }
},
},
};
</script>
```
## API
### Props
| 属性名 | 类型 | 默认值 | 说明 |
| ----------- | ------ | ----------------- | ----------------------------------- |
| value | String | 当前日期 | 选中周的初始值,格式为 'YYYY-MM-DD' |
| minDate | String | 当前日期前 6 个月 | 可选的最小日期,格式为 'YYYY-MM-DD' |
| maxDate | String | 当前日期 | 可选的最大日期,格式为 'YYYY-MM-DD' |
| themeColor | String | '#14af6f' | 主题颜色 |
| title | String | '请选择周期' | 选择器标题 |
| confirmText | String | '确定' | 确认按钮文本 |
| cancelText | String | '取消' | 取消按钮文本 |
### Events
| 事件名 | 说明 | 回调参数 |
| ------ | -------------- | --------------------------------------------------- |
| change | 选择周期后触发 | week: { startDate, endDate, timestamp, weekNumber } |
### Methods
| 方法名 | 说明 | 参数 |
| ------ | ------------ | ---- |
| open | 打开周选择器 | - |
### week 对象结构
```
startDate: String, // 周开始日期格式YYYY-MM-DD
endDate: String, // 周结束日期格式YYYY-MM-DD
timestamp: Number, // 结束日期的时间戳
weekNumber: Number // 当月第几周
```
## 注意事项
1. 日期格式必须为 'YYYY-MM-DD'
2. minDate 不能大于 maxDate
3. 每周默认以周一为开始日
4. 组件需要通过 ref 调用 open 方法来显示