Returns Calendar

通过日历、月份汇总和可选日期内容比较每日正负收益。

适用场景

  • 当界面需要以下行为时使用 Returns Calendar:通过日历、月份汇总和可选日期内容比较每日正负收益。

安装

选择安装方式,用法示例将同步更新导入路径。

$ bunx --bun shadcn-vue@2.8.2 add https://orvui.efu.me/r/returns-calendar.json

首次使用时,将安装的 src/components/orvui/styles.css 导入项目样式入口。

示例

预览

JFMAMJJASONDYear’21’22’23’24’25
Monthly returns in percent
Year123456789101112Year total
20211.14-4.25.56.95.45.2-2.9-2.3-1.9-3.91.614.455433902885728
20223.4-3.3-4.5-0.4-3.4-3-1.4-1.1-73.80.32.4-13.83855342080964
20234.92.40.7-1.905.36.24.34.65.1-2.6-0.631.731871232682263
2024-3.2-2.2-2.3-2.34.1-2.23.2-3.3-3.74-0.83.5-5.591576924853204
20254.4-0.83.8-1.8-3.1-2.3-34.6-1.7-0.7-4.8-2.8-8.409853996695437

状态与事件

需要由表单、路由或父组件管理时,绑定下列状态并接收对应更新。v-model 是属性与 update 事件的简写;值的类型应与 API 一致。

组件状态绑定
组件Vue 绑定更新事件
ReturnsCalendarv-model:selectionnull | ReturnsCalendarSelectionupdate:selection

可选受控属性未传入时,按组件文档的默认行为工作;不要用固定的 false 或空值代替未传入。异步请求和持久化在应用中处理,再把结果传回组件。

API 参考

ReturnsCalendar

years?
number[]

Row labels, one per row of `returns`.

[]
returns?
number[][]

`returns[year][month]` in percent, twelve months per row.

[]
className?
string
—
selection?
null | ReturnsCalendarSelection
—
defaultSelection?
null | ReturnsCalendarSelection
null
onSelectionChange?
(selection: ReturnsCalendarSelection | null) => void
—

事件

update:selection
—
@update:selection
selectionChange
—
@selectionChange

插槽

default
() => VNodeChild
#default

ReturnsCalendarGrid

插槽

default
() => VNodeChild
#default

ReturnsCalendarTooltip

插槽

default
—

作用域参数: label, value, note

#default

无障碍

为交互控件提供明确的无障碍名称。保留文档中的键盘路径、可见焦点与减少动态效果状态;自定义插槽应继续保留所替代部件的语义。

常见问题

如何配置 Returns Calendar?
通过带作用域的默认插槽定制日期内容,并读取日期与收益数值。
如何连接到应用状态?
监听 update:selection、selectionChange,将组件连接到应用状态。
可以在服务端渲染吗?
可以在 Vue SSR 应用中正常渲染。服务端与客户端的初始 props 应保持一致;浏览器测量与交互资源在挂载后启动。

更新于