37 lines
4.7 KiB
JSON
37 lines
4.7 KiB
JSON
{
|
||
"slug": "mention",
|
||
"mode": "single",
|
||
"examples": [
|
||
{
|
||
"id": "mention-ex-1",
|
||
"title": "基础用法",
|
||
"titleSrc": "",
|
||
"desc": "",
|
||
"html": "<div class=\"kole-page\">\n <h2 class=\"kole-h2\">Mention @ 提及</h2>\n <p class=\"kole-desc\">输入框输入 @ 触发用户面板,选择后以标签形式插入,可删除。</p>\n <div class=\"kole-demo\">\n <div class=\"kole-mention\" id=\"mention\">\n <div class=\"kole-mention-area\">\n <textarea class=\"kole-mention-input\" id=\"input\" placeholder=\"输入 @ 提及同事…\" rows=\"3\"></textarea>\n <div class=\"kole-mention-panel\" id=\"panel\" style=\"display:none\"></div>\n </div>\n <div class=\"kole-mention-chips\" id=\"chips\"></div>\n </div>\n </div>\n</div>",
|
||
"preview": {
|
||
"show": [
|
||
[
|
||
0
|
||
]
|
||
],
|
||
"hide": [],
|
||
"mode": "single"
|
||
},
|
||
"previewSafe": true,
|
||
"previewUnsafeReasons": [],
|
||
"source": "curated",
|
||
"code": {
|
||
"html": "<h2>Mention @ 提及</h2>\n<p>输入框输入 @ 触发用户面板,选择后以标签形式插入,可删除。</p>\n<div class=\"kole-mention\">\n <div class=\"kole-mention-area\">\n <textarea class=\"kole-mention-input\" placeholder=\"输入 @ 提及同事…\" rows=\"3\"></textarea>\n <div class=\"kole-mention-panel\" style=\"display:none\"></div>\n </div>\n <div class=\"kole-mention-chips\"></div>\n</div>",
|
||
"jsx": "import { useState } from 'react';\nimport { KoleMention } from 'kole-ui/react';\n\nconst USERS = [\n { name: '王伟', dept: '华东大区' },\n { name: '李娜', dept: '华南大区' },\n { name: '张强', dept: '华北大区' },\n { name: '陈静', dept: '研发中心' },\n { name: '刘洋', dept: '市场部' }\n];\n\nexport default function MentionDemo() {\n const [text, setText] = useState('');\n return <KoleMention modelValue={text} users={USERS} onChange={setText} />;\n}",
|
||
"vue3": "<template>\n <KoleMention v-model=\"text\" :users=\"USERS\" />\n</template>\n\n<script setup>\nimport { ref } from 'vue';\nimport { KoleMention } from 'kole-ui/vue3';\n\nconst USERS = [\n { name: '王伟', dept: '华东大区' },\n { name: '李娜', dept: '华南大区' },\n { name: '张强', dept: '华北大区' },\n { name: '陈静', dept: '研发中心' },\n { name: '刘洋', dept: '市场部' }\n];\n\nconst text = ref('');\n</script>",
|
||
"vue2": "<template>\n <KoleMention v-model=\"text\" :users=\"USERS\" />\n</template>\n\n<script>\nimport { KoleMention } from 'kole-ui/vue2';\n\nexport default {\n components: { KoleMention },\n data() {\n return {\n text: '',\n USERS: [\n { name: '王伟', dept: '华东大区' },\n { name: '李娜', dept: '华南大区' },\n { name: '张强', dept: '华北大区' },\n { name: '陈静', dept: '研发中心' },\n { name: '刘洋', dept: '市场部' }\n ]\n };\n }\n};\n</script>",
|
||
"tsx": "import { useState } from 'react';\nimport { KoleMention } from 'kole-ui/react';\n\nconst USERS = [\n { name: '王伟', dept: '华东大区' },\n { name: '李娜', dept: '华南大区' },\n { name: '张强', dept: '华北大区' },\n { name: '陈静', dept: '研发中心' },\n { name: '刘洋', dept: '市场部' }\n];\n\nexport default function MentionDemo(): JSX.Element {\n const [text, setText] = useState<string>('');\n return <KoleMention modelValue={text} users={USERS} onChange={setText} />;\n}",
|
||
"vue3ts": "<template>\n\n <KoleMention v-model=\"text\" :users=\"USERS\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { KoleMention } from 'kole-ui/vue3';\n\nconst USERS = [\n { name: '王伟', dept: '华东大区' },\n { name: '李娜', dept: '华南大区' },\n { name: '张强', dept: '华北大区' },\n { name: '陈静', dept: '研发中心' },\n { name: '刘洋', dept: '市场部' }\n];\n\nconst text = ref<string>('');\n</script>",
|
||
"vue2ts": "<template>\n\n <KoleMention v-model=\"text\" :users=\"USERS\" />\n</template>\n\n<script lang=\"ts\">\nimport Vue from 'vue';\nimport { KoleMention } from 'kole-ui/vue2';\n\nexport default {\n components: { KoleMention },\n data(): Record<string, unknown> {\n return {\n text: '',\n USERS: [\n { name: '王伟', dept: '华东大区' },\n { name: '李娜', dept: '华南大区' },\n { name: '张强', dept: '华北大区' },\n { name: '陈静', dept: '研发中心' },\n { name: '刘洋', dept: '市场部' }\n ]\n };\n }\n};\n</script>"
|
||
},
|
||
"notes": "依据 frameworks/Mention.html L27-32 的 users(王伟/华东大区 等 5 人)、L14 输入框占位「输入 @ 提及同事…」、L64-68 选中后渲染 @chip;prop 名取自 Mention.jsx L9(modelValue/users/onChange)与 Mention.vue3.vue L39-46(modelValue/users)。"
|
||
}
|
||
],
|
||
"curated": true
|
||
}
|