pointonlynode.vue 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <script setup>
  2. import { Handle, Position } from '@vue-flow/core'
  3. const props = defineProps({
  4. node: Object
  5. })
  6. </script>
  7. <template>
  8. <div class="point-only-node" :id="`node-${props.node.id}`">
  9. <div class="custom-node icons " :id="`node-${node.id}`" >
  10. <img :src="props.node.data.image"/>
  11. <span>{{props.node.data.idCodeser }}</span>
  12. </div>
  13. <!-- 连接点 -->
  14. <Handle id="source-top" type="source" :position="Position.Top" />
  15. <Handle id="source-right" type="source" :position="Position.Right" />
  16. <Handle id="source-bottom" type="source" :position="Position.Bottom" />
  17. <Handle id="source-left" type="source" :position="Position.Left" />
  18. </div>
  19. </template>
  20. <style scoped>
  21. .icons img{
  22. width: 6px;
  23. height: 6px;
  24. top: -7px;
  25. position: relative;
  26. }
  27. .icons span{
  28. display: block;
  29. font-size: 8px;
  30. top: -8px;
  31. position: relative;
  32. }
  33. .point-only-node {
  34. width: 12px;
  35. height: 12px;
  36. /* background-color: #555; */
  37. border-radius: 50%;
  38. position: relative;
  39. }
  40. .vue-flow__handle {
  41. width: 3px;
  42. height: 3px;
  43. min-width: 0 !important;
  44. min-height: 0 !important;
  45. background-color: transparent;
  46. }
  47. .custom-node {
  48. height: 100%;
  49. }
  50. </style>
  51. <style>
  52. .vue-flow__node-point-only.selected{
  53. border:1px solid #1a192b;
  54. }
  55. </style>