首页 > 其他分享 >antv x6 注册vue组件 响应传值

antv x6 注册vue组件 响应传值

时间:2024-09-27 16:01:02浏览次数:1  
标签:node vue const antv 组件 x6 节点

使用antv x6 vue组件创建节点信息-当节点过于复杂可以考虑,避免使用markup\attr过于复杂  

官网 antv -vue组件

示例1 、 使用inject 接收父组件传值

import { Graph } from '@antv/x6'
import { register } from '@antv/x6-vue-shape'
  import TestNode from './test1.vue'

 

渲染节点

 

3s后改变值

 

 

创建画布

const graph = new Graph({
        container: document.getElementById('container'),
        width: 800,
        height: 600,
        grid: true,
        background: {
          color: '#F2F7FA'
        }
      })

 

注册vue组件

     register({
        shape: 'custom-vue-node',
        width: 100,
        height: 50,
        component: TestNode
      })

 

添加节点---使用组件

     graph.addNode({
        id: 'node1',
        shape: 'custom-vue-node',
        x: 240,
        y: 140
      })

      graph.addNode({
        id: 'node2',
        shape: 'custom-vue-node', // 使用 - VUE组件
        x: 340,
        y: 240
      })

 

改变节点值

 const node = graph.getCellById('node1')
      const node2 = graph.getCellById('node2')
      // 节点1
      node.setData({
        text: 'node节点1'
      })
      // 节点2
      node2.setData({
        text: 'node节点2'
      })

      // 过3s 更改节点值是否是响应
      setTimeout(() => {
        node.setData({
          text: 'node节点1-change'
        })
        console.log('change')
      }, 3000)

 

以上是基本创建,

TestNode.vue组件
export default {
  name: 'test2View',
  inject: ['getNode'],
  data() {
    return {
      nodeInfo: {}
    }
  },
  mounted() {
    console.log('getNode', this.getNode())
    // console.log('tnode----', this.tnode)

    const node = this.getNode()
    this.nodeInfo = node?.data
    // 监听 change:data数据变化
    node.on('change:data', ({ current }) => {
      console.log('current', current)
      const { text } = current
      this.nodeInfo = current
    })
  },
  methods: {}
}
 

示例2 、 使用render函数来创建组件

 

标签:node,vue,const,antv,组件,x6,节点
From: https://www.cnblogs.com/congxueda/p/18435959

相关文章

  • 基于springboot+vue的公文发文管理系统附带文章源码部署视频讲解等
    文章目录前言详细视频演示具体实现截图核心技术介绍前端框架Vue持久层框架MyBaits为什么选择我代码参考数据库参考测试用例参考源码获取前言......
  • java+vue计算机毕设编程类题目在线评测系统【源码+程序+论文+开题】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和在线教育的普及,编程教育已成为培养未来科技人才的重要基石。然而,传统的编程教学模式往往受限于时间和空间的限制,难以高效、......
  • java+vue计算机毕设病患互助平台【源码+程序+论文+开题】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在当今社会,随着医疗技术的不断进步和人们健康意识的提升,病患群体对于医疗资源的获取与共享需求日益增长。然而,面对复杂的疾病谱系和有限的医疗资源,许......
  • java+vue计算机毕设邦友茶行茶叶销售管理【源码+程序+论文+开题】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着人们生活水平的日益提高,茶文化作为中国传统文化的重要组成部分,正逐渐在现代社会中焕发新的生机与活力。邦友茶行,作为一家致力于传承与创新茶叶文......
  • vue3 vxe-grid 通过数据库返回的列信息,生成columns,并且其中有一列是img类型,进行slots
    1、一般我们写死的列信息的时候,会这样定义:2、然后我们在template里面,这样这样写slots格式化部分:这样表格中就会展示出一张图片,并且,我们点击了可以查看大图。3、那么我们从数据库中返回的列,应该如何去写:letfields={field:item.fieldname,......
  • [微信小程序原创项目]基于Springboot+Vue+Uniapp的通用商城小程序、商城管理系统
    项目提供:完整源码+数据库sql文件+数据库表Excel文件关注我的B站:程序员阿水呀,带小白学习更多干货教程!1、项目功能描述本项目为双角色,用户和管理员,用户使用小程序前台,管理员使用web后台。1.1注册注册功能:填写用户名、密码进行注册。仅开放小程序端即用户端进行注册。......
  • VueUse-----基于 Vue 3 的实用工具库,常用功能介绍及使用案例
    简介    VueUse是一个基于Vue3的实用工具库,它提供了一系列的组合式API(CompositionAPI)函数,可以帮助你更方便地处理常见的任务。VueUse包含了大量的功能,如状态管理、浏览器API封装、响应式数据处理等。安装 VueUse可以通过npm或yarn来安装VueUse:npmin......
  • vue3+ts+axios封装
    需要安装axios,qsyarnaddaxiosnpmiaxioscnpmiaxiosyarnaddqsnpmiqscnpmiqs在src/API/axios.tsimportaxiosfrom'axios';importqsfrom"qs";axios.defaults.baseURL="/api";//请求地址统一配置到vite.config.ts中代理......
  • python+vue中小学班级课外活动管理系统pycharm毕业设计项目_0390d
    目录解决的思路技术栈和环境说明python语言操作可行性性能/安全/负载方面具体实现截图框架介绍技术路线python-flask核心代码部分展示python-django核心代码部分展示详细视频演示源码获取解决的思路前端的数据收集及可视化研究,熟悉Django框架,python编程设计语法。......
  • springboot+vue社区医疗诊所信息系统的设计与实现 8283b
    目录功能和技术介绍系统实现截图开发核心技术介绍:使用说明开发步骤编译运行代码执行流程核心代码部分展示可行性分析软件测试详细视频演示源码获取功能和技术介绍jdk版本:jdk1.8+编程语言:java框架支持:springboot/ssm/springcloud分布式微服务数据库:mysql版......