---
title: 开发文档
order: 3
category: pro
---

# PisellReservationSchedule 开发文档

## 1 基本信息

| 项   | 内容                                                                      |
|-----|-------------------------------------------------------------------------|
| 入口  | `packages/materials/src/components/pisellReservationSchedule/index.tsx` |
| 实现  | `PisellReservationSchedule.tsx`                                         |
| 样式  | `PisellReservationSchedule.less`                                        |
| 类型  | `types.ts`                                                              |
| 多语言 | `locales.ts`（`@pisell/utils` `locales.init`）                            |

## 2 依赖

- `dayjs`：解析与格式化日期。
- `useEngineContext`：读取 `engine.props.locale`。
- `@pisell/icon`：`ChevronLeft` / `ChevronRight`。

## 3 状态与数据流

- 受控：`valueProp !== undefined` 时 `value` 来自 `parseDay(valueProp, today)`。
- 非受控：`useState` 保存 `Dayjs`，`onChange` 与箭头点击通过 `emit` 统一夹紧边界并回调。
- `emit`：`startOf('day')` 后与 `minDate` / `maxDate` 比较并修正。

## 4 与 Band 的关系

`PisellReservationScheduleBand` 将本组件的 `value` / `onChange` 绑定到组合状态中的 `date` 字段，并透传 `scheduleProps`
（不得含 `value` / `onChange` / `defaultValue`）。

## 5 低代码

Meta：`packages/materials/lowcode/pisell-reservation-schedule/meta.ts`，分类「数据录入」。
