basic.vue 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <script setup lang="ts">
  2. import { onMounted, provide, ref } from 'vue'
  3. import { UITag } from 'kankan-components'
  4. const tags = ref<any>([])
  5. onMounted(() => {
  6. const __win = window as any
  7. const __sdk = (__win.__sdk = new __win.KanKan({
  8. num: 'KJ-t-wOXfx2SDFy',
  9. // server: 'https://test.4dkankan.com',
  10. server: '/demoServer',
  11. }))
  12. provide('__sdk', __sdk)
  13. __sdk.TagManager.on('loaded', (data: any) => __sdk.TagManager.load((tags.value = data) && tags.value))
  14. __sdk.mount('#scene').render()
  15. })
  16. const handleTagview = ({ id }) => {
  17. console.log('id', id)
  18. }
  19. </script>
  20. <template>
  21. <div id="scene">
  22. <Teleport v-if="tags.length > 0" to=".kankan-plugins">
  23. <div xui_tags_view>
  24. <UITag v-for="(item, index) in tags" :key="index" :tag="item" @click="handleTagview" />
  25. </div>
  26. <!-- <div xui_tags_view>
  27. <UITag v-for="(item, index) in tags" :key="index" :tag="item">
  28. <template #content="{ data, id, isClick, isShow, x, y }">
  29. <div>id:{{ id }}</div>
  30. <div>isClick:{{ isClick }}</div>
  31. <div>isShow:{{ isShow }}</div>
  32. <div>x:{{ x }}</div>
  33. <div>y:{{ y }}</div>
  34. </template>
  35. </UITag>
  36. </div> -->
  37. </Teleport>
  38. </div>
  39. </template>
  40. <style>
  41. html,
  42. body,
  43. #app,
  44. #scene {
  45. width: 100%;
  46. height: 600px;
  47. padding: 0;
  48. margin: 0;
  49. }
  50. </style>