UI弹出呈现
presentationDetents
设置 sheet 可停靠的高度及当前高度。
presentationDetents(detents) 作用在 sheet 内容中的视图上,设置 sheet 可以停靠的高度。用户可以拖动顶部指示条在这些高度之间切换。
import { List, Modifier, Text } from "onescript/views"
<List modifier={Modifier.presentationDetents(["medium", "large", { height: 200 }])}>
<Text>内容</Text>
</List>| 值 | 高度 |
|---|---|
"medium" | 约半屏。 |
"large" | 完整高度,为默认值。 |
{ fraction: number } | 屏幕高度的比例,取值范围 (0, 1]。 |
{ height: number } | 固定高度,单位为 pt。 |
当前高度
传入第二个参数可以读取和控制 sheet 当前停在哪个高度。selection 必须是 detents 中的一项;用户拖动 sheet 后,OneScript 调用 onSelectionChange 并传入新的高度,你需要把它存回状态。脚本修改 selection 时 sheet 会动画切换到对应高度。
import { Button, List, Modifier, type PresentationDetent, useState } from "onescript/views"
function Panel() {
const [detent, setDetent] = useState<PresentationDetent>("medium")
return (
<List modifier={Modifier.presentationDetents(["medium", "large"], {
selection: detent,
onSelectionChange: setDetent,
})}>
<Button action={() => setDetent("large")}>展开</Button>
</List>
)
}| 参数 | 类型 | 说明 |
|---|---|---|
selection | PresentationDetent | 当前高度,必须是 detents 中的一项。 |
onSelectionChange | (detent: PresentationDetent) => void | 用户拖动改变高度时调用。 |
How is this guide?
最后更新于