Files
aurora-admin/site/examples/phoneinput.json

37 lines
5.0 KiB
JSON

{
"curated": true,
"slug": "phoneinput",
"mode": "single",
"examples": [
{
"id": "phoneinput-ex-1",
"title": "基础用法",
"titleSrc": "",
"desc": "",
"html": "<div class=\"kole-page\">\n <h2 class=\"kole-h2\">PhoneInput 手机号输入</h2>\n <p class=\"kole-desc\">国际区号选择 + 自动格式化 + 校验,适用于注册、登录。</p>\n <div class=\"kole-demo\">\n <div class=\"kole-demo__title\">基础用法</div>\n <div class=\"kole-phone\" id=\"phone\">\n <select class=\"kole-phone-code\" id=\"code\">\n <option value=\"+86\">+86</option>\n <option value=\"+852\">+852</option>\n <option value=\"+1\">+1</option>\n <option value=\"+81\">+81</option>\n </select>\n <input class=\"kole-phone-input\" id=\"num\" role=\"group\" inputmode=\"numeric\" placeholder=\"请输入手机号\" />\n </div>\n <div class=\"kole-phone-tip\" id=\"tip\">支持中国大陆、香港、美、日等区号</div>\n </div>\n</div>",
"preview": {
"show": [
[
0
]
],
"hide": [],
"mode": "single"
},
"previewSafe": true,
"previewUnsafeReasons": [],
"source": "curated",
"code": {
"html": "<h2>PhoneInput 手机号输入</h2>\n<p>国际区号选择 + 自动格式化 + 校验,适用于注册、登录。</p>\n<div>基础用法</div>\n<div class=\"kole-phone\">\n <select class=\"kole-phone-code\">\n <option value=\"+86\">+86</option>\n <option value=\"+852\">+852</option>\n <option value=\"+1\">+1</option>\n <option value=\"+81\">+81</option>\n </select>\n <input class=\"kole-phone-input\" role=\"group\" inputmode=\"numeric\" placeholder=\"请输入手机号\" />\n</div>\n<div class=\"kole-phone-tip\">支持中国大陆、香港、美、日等区号</div>",
"jsx": "import { useState } from 'react';\nimport { KolePhoneInput } from 'kole-ui/react';\n\nconst CODES = [\n { value: '+86', label: '中国大陆' },\n { value: '+852', label: '香港' },\n { value: '+1', label: '美国' },\n { value: '+81', label: '日本' }\n];\n\nexport default function Demo() {\n const [phone, setPhone] = useState('');\n\n return (\n <KolePhoneInput\n modelValue={phone}\n placeholder=\"请输入手机号\"\n codes={CODES}\n onChange={setPhone}\n />\n );\n}",
"vue3": "<template>\n <KolePhoneInput v-model=\"phone\" placeholder=\"请输入手机号\" :codes=\"codes\" />\n</template>\n\n<script setup>\nimport { ref } from 'vue';\nimport { KolePhoneInput } from 'kole-ui/vue3';\n\nconst phone = ref('');\nconst codes = [\n { value: '+86', label: '中国大陆' },\n { value: '+852', label: '香港' },\n { value: '+1', label: '美国' },\n { value: '+81', label: '日本' }\n];\n</script>",
"vue2": "<template>\n <KolePhoneInput v-model=\"phone\" placeholder=\"请输入手机号\" :codes=\"codes\" />\n</template>\n\n<script>\nimport { KolePhoneInput } from 'kole-ui/vue2';\n\nexport default {\n components: { KolePhoneInput },\n data() {\n return {\n phone: '',\n codes: [\n { value: '+86', label: '中国大陆' },\n { value: '+852', label: '香港' },\n { value: '+1', label: '美国' },\n { value: '+81', label: '日本' }\n ]\n };\n }\n};\n</script>",
"tsx": "import { useState } from 'react';\nimport { KolePhoneInput } from 'kole-ui/react';\n\nconst CODES = [\n { value: '+86', label: '中国大陆' },\n { value: '+852', label: '香港' },\n { value: '+1', label: '美国' },\n { value: '+81', label: '日本' }\n];\n\nexport default function Demo(): JSX.Element {\n const [phone, setPhone] = useState<string>('');\n\n return (\n <KolePhoneInput\n modelValue={phone}\n placeholder=\"请输入手机号\"\n codes={CODES}\n onChange={setPhone}\n />\n );\n}",
"vue3ts": "<template>\n\n <KolePhoneInput v-model=\"phone\" placeholder=\"请输入手机号\" :codes=\"codes\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { KolePhoneInput } from 'kole-ui/vue3';\n\nconst phone = ref<string>('');\nconst codes = [\n { value: '+86', label: '中国大陆' },\n { value: '+852', label: '香港' },\n { value: '+1', label: '美国' },\n { value: '+81', label: '日本' }\n];\n</script>",
"vue2ts": "<template>\n\n <KolePhoneInput v-model=\"phone\" placeholder=\"请输入手机号\" :codes=\"codes\" />\n</template>\n\n<script lang=\"ts\">\nimport Vue from 'vue';\nimport { KolePhoneInput } from 'kole-ui/vue2';\n\nexport default {\n components: { KolePhoneInput },\n data(): Record<string, unknown> {\n return {\n phone: '',\n codes: [\n { value: '+86', label: '中国大陆' },\n { value: '+852', label: '香港' },\n { value: '+1', label: '美国' },\n { value: '+81', label: '日本' }\n ]\n };\n }\n};\n</script>"
},
"notes": "依据 frameworks/PhoneInput.html:18-22 的四个 option 区号(+86/+852/+1/+81)、:24 的 placeholder=\"请输入手机号\" 与 :26 的区号提示文案;codes 数组取值对齐 frameworks/PhoneInput.vue3.vue 的 codes 默认值,校验分支取自 :41-47"
}
]
}