116 lines
7.8 KiB
JSON
116 lines
7.8 KiB
JSON
{
|
||
"slug": "timepicker",
|
||
"curated": true,
|
||
"mode": "scenarios",
|
||
"examples": [
|
||
{
|
||
"id": "timepicker-ex-1",
|
||
"title": "默认与常用变体",
|
||
"titleSrc": "demo",
|
||
"desc": "",
|
||
"html": "<div class=\"demo-block\">\n <div class=\"row kole-timepicker\">\n <label class=\"kole-timepicker-item\">\n 执行时间\n <input class=\"kole-timepicker-control\" type=\"time\" aria-label=\"执行时间\" value=\"09:30\" />\n </label>\n </div>\n</div>",
|
||
"preview": {
|
||
"show": [
|
||
[
|
||
0,
|
||
2
|
||
]
|
||
],
|
||
"hide": [
|
||
[
|
||
1
|
||
],
|
||
[
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
1
|
||
],
|
||
[
|
||
0,
|
||
3
|
||
],
|
||
[
|
||
0,
|
||
2,
|
||
0
|
||
]
|
||
],
|
||
"mode": "scenarios"
|
||
},
|
||
"previewSafe": true,
|
||
"previewUnsafeReasons": [],
|
||
"source": "curated",
|
||
"code": {
|
||
"html": "<div class=\"kole-timepicker\">\n <label class=\"kole-timepicker-item\">\n 执行时间\n <input class=\"kole-timepicker-control\" type=\"time\" aria-label=\"执行时间\" value=\"09:30\" />\n </label>\n</div>",
|
||
"jsx": "import { useState } from 'react';\nimport { KoleTimePicker } from 'kole-ui/react';\n\nfunction TaskSchedule() {\n const [time, setTime] = useState('09:30');\n return (\n <KoleTimePicker value={time} format=\"HH:mm\" onChange={setTime}>\n 执行时间\n </KoleTimePicker>\n );\n}",
|
||
"vue3": "<template>\n <KoleTimePicker v-model=\"time\" format=\"HH:mm\" />\n</template>\n\n<script setup>\nimport { ref } from 'vue';\nimport { KoleTimePicker } from 'kole-ui/vue3';\n\nconst time = ref('09:30');\n</script>",
|
||
"vue2": "<template>\n <KoleTimePicker v-model=\"time\" format=\"HH:mm\" />\n</template>\n\n<script>\nimport { KoleTimePicker } from 'kole-ui/vue2';\nexport default {\n components: { KoleTimePicker },\n data() {\n return { time: '09:30' };\n }\n};\n</script>",
|
||
"tsx": "import { useState } from 'react';\nimport { KoleTimePicker } from 'kole-ui/react';\n\nfunction TaskSchedule(): JSX.Element {\n const [time, setTime] = useState<string>('09:30');\n return (\n <KoleTimePicker value={time} format=\"HH:mm\" onChange={setTime}>\n 执行时间\n </KoleTimePicker>\n );\n}\n\nexport default TaskSchedule;",
|
||
"vue3ts": "<template>\n\n <KoleTimePicker v-model=\"time\" format=\"HH:mm\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { KoleTimePicker } from 'kole-ui/vue3';\n\nconst time = ref<string>('09:30');\n</script>",
|
||
"vue2ts": "<template>\n\n <KoleTimePicker v-model=\"time\" format=\"HH:mm\" />\n</template>\n\n<script lang=\"ts\">\nimport Vue from 'vue';\nimport { KoleTimePicker } from 'kole-ui/vue2';\n\nexport default {\n components: { KoleTimePicker },\n data(): Record<string, unknown> {\n return { time: '09:30' };\n }\n};\n</script>"
|
||
},
|
||
"notes": [
|
||
"依据 frameworks/TimePicker.html 第 6 行第一个 .demo-block:label「执行时间」+ input[type=time] value=\"09:30\",对应 KoleTimePicker 的 value=\"09:30\" 与默认 format=\"HH:mm\"(frameworks/TimePicker.jsx 第 4 行参数表)。",
|
||
"双向绑定按四端实现取事件名:vue3 emit update:modelValue / change(frameworks/TimePicker.vue3.vue 第 11 行),vue2 emit input / change。"
|
||
]
|
||
},
|
||
{
|
||
"id": "timepicker-ex-2",
|
||
"title": "状态与使用场景",
|
||
"titleSrc": "demo",
|
||
"desc": "",
|
||
"html": "<div class=\"demo-block\">\n <div class=\"row kole-timepicker\">\n <div class=\"kole-timepicker-surface\" style=\"padding:12px\">设置营业时段、任务执行时间或提醒时间,采用无运行时依赖的原生时间控件。</div>\n <span class=\"kole-timepicker-desc\">支持键盘焦点、状态反馈和令牌化样式。</span>\n </div>\n <p class=\"demo-note\">零运行时依赖;数据请求、权限和国际化由宿主接入方决定。</p>\n</div>",
|
||
"preview": {
|
||
"show": [
|
||
[
|
||
0,
|
||
3
|
||
]
|
||
],
|
||
"hide": [
|
||
[
|
||
1
|
||
],
|
||
[
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
1
|
||
],
|
||
[
|
||
0,
|
||
2
|
||
],
|
||
[
|
||
0,
|
||
3,
|
||
0
|
||
]
|
||
],
|
||
"mode": "scenarios"
|
||
},
|
||
"previewSafe": true,
|
||
"previewUnsafeReasons": [],
|
||
"source": "curated",
|
||
"code": {
|
||
"html": "<div class=\"kole-timepicker\">\n <div class=\"kole-timepicker-surface\" style=\"padding:12px\">设置营业时段、任务执行时间或提醒时间,采用无运行时依赖的原生时间控件。</div>\n <span class=\"kole-timepicker-desc\">支持键盘焦点、状态反馈和令牌化样式。</span>\n</div>\n<p>零运行时依赖;数据请求、权限和国际化由宿主接入方决定。</p>",
|
||
"jsx": "import { useState } from 'react';\nimport { KoleTimePicker } from 'kole-ui/react';\n\nfunction BusinessHours() {\n // 营业时段:开始时间到分钟,结束时间精确到秒\n const [openTime, setOpenTime] = useState('09:00');\n const [closeTime, setCloseTime] = useState('18:30');\n return (\n <>\n <KoleTimePicker value={openTime} format=\"HH:mm\" onChange={setOpenTime} />\n <KoleTimePicker value={closeTime} format=\"HH:mm:ss\" onChange={setCloseTime} />\n </>\n );\n}",
|
||
"vue3": "<template>\n <div>\n <KoleTimePicker v-model=\"openTime\" format=\"HH:mm\" />\n <KoleTimePicker v-model=\"closeTime\" format=\"HH:mm:ss\" />\n </div>\n</template>\n\n<script setup>\nimport { ref } from 'vue';\nimport { KoleTimePicker } from 'kole-ui/vue3';\n\n// 营业时段:开始时间到分钟,结束时间精确到秒\nconst openTime = ref('09:00');\nconst closeTime = ref('18:30');\n</script>",
|
||
"vue2": "<template>\n <div>\n <KoleTimePicker v-model=\"openTime\" format=\"HH:mm\" />\n <KoleTimePicker v-model=\"closeTime\" format=\"HH:mm:ss\" />\n </div>\n</template>\n\n<script>\nimport { KoleTimePicker } from 'kole-ui/vue2';\nexport default {\n components: { KoleTimePicker },\n data() {\n return { openTime: '09:00', closeTime: '18:30' };\n }\n};\n</script>",
|
||
"tsx": "import { useState } from 'react';\nimport { KoleTimePicker } from 'kole-ui/react';\n\nfunction BusinessHours(): JSX.Element {\n // 营业时段:开始时间到分钟,结束时间精确到秒\n const [openTime, setOpenTime] = useState<string>('09:00');\n const [closeTime, setCloseTime] = useState<string>('18:30');\n return (\n <>\n <KoleTimePicker value={openTime} format=\"HH:mm\" onChange={setOpenTime} />\n <KoleTimePicker value={closeTime} format=\"HH:mm:ss\" onChange={setCloseTime} />\n </>\n );\n}\n\nexport default BusinessHours;",
|
||
"vue3ts": "<template>\n\n <div>\n <KoleTimePicker v-model=\"openTime\" format=\"HH:mm\" />\n <KoleTimePicker v-model=\"closeTime\" format=\"HH:mm:ss\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { KoleTimePicker } from 'kole-ui/vue3';\n\n// 营业时段:开始时间到分钟,结束时间精确到秒\nconst openTime = ref<string>('09:00');\nconst closeTime = ref<string>('18:30');\n</script>",
|
||
"vue2ts": "<template>\n\n <div>\n <KoleTimePicker v-model=\"openTime\" format=\"HH:mm\" />\n <KoleTimePicker v-model=\"closeTime\" format=\"HH:mm:ss\" />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport Vue from 'vue';\nimport { KoleTimePicker } from 'kole-ui/vue2';\n\nexport default {\n components: { KoleTimePicker },\n data(): Record<string, unknown> {\n return { openTime: '09:00', closeTime: '18:30' };\n }\n};\n</script>"
|
||
},
|
||
"notes": [
|
||
"依据 frameworks/TimePicker.html 第二个 .demo-block 的场景文案(「设置营业时段、任务执行时间或提醒时间」);该 block 的 <script> 为空,故按 frameworks/TimePicker.jsx 第 4 行的 value / format / onChange / children 参数表给出该场景的真实取值(format 由默认 HH:mm 改为 HH:mm:ss)。",
|
||
"秒级 format 在 frameworks/TimePicker.vue3.vue 第 9 行与 frameworks/TimePicker.vue2.vue 第 10 行均为可传 prop(type: String),非虚构属性。"
|
||
]
|
||
}
|
||
]
|
||
}
|