41 lines
4.0 KiB
JSON
41 lines
4.0 KiB
JSON
{
|
||
"curated": true,
|
||
"slug": "pagetransition",
|
||
"mode": "single",
|
||
"examples": [
|
||
{
|
||
"id": "pagetransition-ex-1",
|
||
"title": "基础用法",
|
||
"titleSrc": "",
|
||
"desc": "",
|
||
"html": "<div class=\"kole-page\">\n <h2 class=\"kole-h2\">PageTransition 页面切换动画</h2>\n <p class=\"kole-desc\">路由切换动画:淡入 / 滑动 / 缩放,时长约 0.35s。点击按钮预览动画。</p>\n <div class=\"kole-demo\">\n <div class=\"kole-pt\">\n <div class=\"kole-pt-bar\">\n <button class=\"kole-btn\" data-t=\"fade\">淡入</button>\n <button class=\"kole-btn\" data-t=\"slide\">滑动</button>\n <button class=\"kole-btn\" data-t=\"zoom\">缩放</button>\n </div>\n <div class=\"kole-pt-stage kole-pt-fade\" id=\"stage\">当前页面内容</div>\n </div>\n </div>\n</div>",
|
||
"preview": {
|
||
"show": [
|
||
[
|
||
0
|
||
]
|
||
],
|
||
"hide": [],
|
||
"mode": "single"
|
||
},
|
||
"previewSafe": true,
|
||
"previewUnsafeReasons": [],
|
||
"source": "curated",
|
||
"code": {
|
||
"html": "<h2>PageTransition 页面切换动画</h2>\n<p>路由切换动画:淡入 / 滑动 / 缩放,时长约 0.35s。点击按钮预览动画。</p>\n<div class=\"kole-pt\">\n <div class=\"kole-pt-bar\">\n <button class=\"kole-btn\">淡入</button>\n <button class=\"kole-btn\">滑动</button>\n <button class=\"kole-btn\">缩放</button>\n </div>\n <div class=\"kole-pt-stage kole-pt-fade\">当前页面内容</div>\n</div>",
|
||
"jsx": "import { KolePageTransition } from 'kole-ui/react';\n\n{/* 组件内部自带「淡入/滑动/缩放」按钮与动画状态,调用方只需给 text */}\n<KolePageTransition text=\"当前页面内容\" />",
|
||
"vue3": "<template>\n <!-- 组件内部自带「淡入/滑动/缩放」按钮与动画状态,调用方只需给 text -->\n <KolePageTransition text=\"当前页面内容\" />\n</template>\n\n<script setup>\nimport { KolePageTransition } from 'kole-ui/vue3';\n</script>",
|
||
"vue2": "<template>\n <!-- 组件内部自带「淡入/滑动/缩放」按钮与动画状态,调用方只需给 text -->\n <KolePageTransition text=\"当前页面内容\" />\n</template>\n\n<script>\nimport { KolePageTransition } from 'kole-ui/vue2';\n\nexport default { components: { KolePageTransition } };\n</script>",
|
||
"tsx": "import { KolePageTransition } from 'kole-ui/react';\n\nexport default function KolePageTransitionDemo(): JSX.Element {\n {/* 组件内部自带「淡入/滑动/缩放」按钮与动画状态,调用方只需给 text */}\n return (\n <KolePageTransition text=\"当前页面内容\" />\n );\n}",
|
||
"vue3ts": "<template>\n\n <!-- 组件内部自带「淡入/滑动/缩放」按钮与动画状态,调用方只需给 text -->\n <KolePageTransition text=\"当前页面内容\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { KolePageTransition } from 'kole-ui/vue3';\n\nconst demoTitle = ref<string>('基础用法');\n\n</script>",
|
||
"vue2ts": "<template>\n\n <!-- 组件内部自带「淡入/滑动/缩放」按钮与动画状态,调用方只需给 text -->\n <KolePageTransition text=\"当前页面内容\" />\n</template>\n\n<script lang=\"ts\">\nimport Vue from 'vue';\nimport { KolePageTransition } from 'kole-ui/vue2';\n\nexport default { components: { KolePageTransition },\n data(): Record<string, never> {\n return {};\n }\n};\n</script>"
|
||
},
|
||
"notes": [
|
||
"唯一对外 prop 是 text(PageTransition.jsx:4 / PageTransition.vue3.vue:9 / PageTransition.vue2.vue:8 一致);三端实现内部已渲染 kole-pt-bar 的「淡入/滑动/缩放」按钮,动画由内部状态 animClass 驱动,调用方不传也不该传。",
|
||
"原片段的 effect=\"fade\" / direction=\"forward\" 出自契约 dims,是实现不接收的属性(dims 是设计词汇层,不是 prop 源),已移除;原片段手写的 kole-pt-bar 工具栏属重复渲染,也已移除。",
|
||
"演示页 frameworks/PageTransition.html:18-20 的 data-t 与 :30-35 的点击切换是演示脚本的内部实现,不是调用参数。"
|
||
]
|
||
}
|
||
]
|
||
}
|