101 lines
2.8 KiB
Markdown
101 lines
2.8 KiB
Markdown
# 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 方法来显示
|