Vue.js で AntV X6 を使用する手順の例

Vue.js で AntV X6 を使用する手順の例

0x0 はじめに

プロジェクトではフローチャートを使用しており、要件が詳細ではないため、フローチャート エディターとして、より柔軟な x6 グラフィック エディターが選択されています。ドキュメントによると、複雑ではないため、これは単なるリファレンス チュートリアルです。

Antv X6 ドキュメント

0x1 インストール

チュートリアルの指示に従って x6 依存関係をインストールし、インスタンス化用の新しいコンテナーを作成します。

<div ref="コンテナRef" クラス="エリアセンターコンテナ" />
定数データ = {
  // ノード: [
    {
      id: 'node1', // 文字列、オプション、ノードの一意の識別子 x: 40, // 数値、必須、ノード位置の x 値 y: 40, // 数値、必須、ノード位置の y 値 width: 80, // 数値、オプション、ノード サイズの幅の値 height: 40, // 数値、オプション、ノード サイズの高さの値 label: 'hello', // 文字列、ノード ラベル },
    {
      id: 'node2', // 文字列、ノードの一意の識別子 x: 160, // 数値、必須、ノード位置の x 値 y: 180, // 数値、必須、ノード位置の y 値 width: 80, // 数値、オプション、ノード サイズの幅の値 height: 40, // 数値、オプション、ノード サイズの高さの値 label: 'world', // 文字列、ノード ラベル },
  ]、
  // エッジ: [
    {
      ソース: 'node1', // 文字列、必須、開始ノード ID
      target: 'node2', // 文字列、必須、ターゲットノード ID
    },
  ]、
}

関数initGraph() {
  constグラフ = 新しいグラフ({
    コンテナ: this.$refs.containerRef,
    グリッド: {
      size: 10, // グリッドサイズ 10px
      visible: true // メッシュの背景をレンダリング},
    スナップライン:
      enabled: true, // アライメント sharp: true
    },
    スクロール:
      有効: true、
      ページ表示: false、
      ページブレーク: false、
      パン可能: true
    }
  })
  // キャンバスを中央に配置する graph.centerContent()

  graph.fromJSON(データ)
}

これは最も単純な例です。上記のさまざまなパラメータについては、ドキュメントの対応する説明を参照してください。

0x2 ノードサイドバー

ドキュメント内のステンシルの例によれば、多くのコードを簡略化できます。カプセル化されたビジネスを直接使用できます。上記のようにコンテナのインスタンス化を記述するだけです。

<el-aside ref="ステンシルRef" class="area-left" />
this.stencil = 新しいStencil({
    タイトル: 「プロセスノードサイドバー」
    対象: グラフ、
    検索: 偽、
    折りたたみ可能: true、
    ステンシルグラフの幅: this.$refs.stencilRef.$el.clientWidth、
    ステンシルグラフの高さ: this.$refs.stencilRef.$el.clientHeight、
    グループ: [
        {
            名前: 'グループ',
            タイトル: 「フローチャートノード」
            折りたたみ可能: false
          }
        ]、
    getDropNode: ノード => {
        cloneNode = node.clone() とします。
        スイッチ (node.shape) {
            'rect'の場合:
                cloneNode = 新しい RectShape()
                壊す
            ケース '円':
                cloneNode = 新しい CircleShape()
                壊す
            'ポリゴン'の場合:
                cloneNode = 新しいポリラインシェイプ()
                壊す
        }
        cloneNode.updateInPorts(グラフ)
        cloneNodeを返す
    }
})
// ノードをロードします this.stencil.load([new Rect(rectInfo), new Circle(circleInfo), new Polygon(polygonInfo)], 'group')

0x3 統合例

オンライン: https://codesandbox.io/s/icy-meadow-rqihx

上記は、Antv X6 を Vue.js で使用する手順例の詳細です。Antv X6 を Vue.js で使用する方法の詳細については、123WORDPRESS.COM の他の関連記事をご覧ください。

以下もご興味があるかもしれません:
  • vueプロジェクトでAntv G2を参照し、円グラフを例に挙げます。
  • Vue で antv を使用するためのサンプル コード
  • Vue で G2 チャートを使用するためのサンプル コード
  • g2plot を例にして vue2 で AntV を使用する

<<:  MySQL 5.7 の Docker バージョンを MySQL 8.0.13 にアップグレードし、データを移行する

>>:  MySQL 8.0.13 zipパッケージのインストール方法について

推薦する

Dockerのデフォルトネットワークセグメントを変更する実装方法の分析

背景同社のサーバーはすべて Alibaba Cloud ECS ホストを購入しています。デフォルトの...

MySQL 5.7.18 リリース インストール ガイド (bin ファイル バージョンを含む)

インストール プロセスは、コンパイル手順を除いて、基本的にソース バージョンと同じです。この記事では...

Angularフレームワークのビュー抽象定義の詳細な説明

序文「大規模なフロントエンド プロジェクト向け」に設計されたフロントエンド フレームワークである A...

MySql 8.0.11-Winxp64 (無料インストール版) ​​設定チュートリアル

1. インストールディレクトリにzipパッケージを解凍します。まず、mysql-8.0.11-win...

基本的なウェブページパフォーマンス最適化ルールの簡単な概要

ブラウザのウェブページを最適化するためのいくつかのルールページの最適化静的リソース圧縮ビルド ツール...

react+reduxを使用してカウンター機能を実装すると発生する問題

Redux はシンプルな状態マネージャーです。その歴史をたどることはしません。使用法の観点から見ると...

mysql における mydumper と mysqldump の比較

いくつかのテーブルまたは単一のデータベースのみをバックアップする場合は、innobackup よりも...

MySQL 5.7.21 のインストールと設定のチュートリアル

mysql5.7.21の簡単なインストール構成は次のとおりです。 1. MySQLのインストール1....

Linux環境にJDK1.8をインストールする

目次1. インストール環境2. インストール手順ステップ1: インストールパッケージをダウンロードす...

MySQL 8.0.11 圧縮版のインストールと設定方法のグラフィックチュートリアル

MySQL 8.0圧縮パッケージのインストール方法、詳細は次のとおりです知らせ:オペレーティング シ...

Vueは下部のポップアップウィンドウで複数選択を実装します

この記事の例では、下部のポップアップウィンドウで複数選択を実装するためのVueの具体的なコードを共有...

WeChat公式アカウントでReactプロジェクトを実行する方法

目次1. a タグを使用して PDF をプレビューまたはダウンロードします。書き方は、携帯電話でクリ...

適応幅(パーセンテージ)に応じて Div の高さを調整する純粋な CSS

今日のレスポンシブ レイアウトの要件では、サイズを自動的に調整できる多くの要素で高さと幅の適応を実現...

Dockerでイメージ情報を表示する方法

この記事では、Dockerでイメージ情報を表示する方法を学ぶ必要があります。 1. imagesコマ...

MySQLクエリ最適化: 100万件のデータに対するテーブル最適化ソリューション

1. 2つのクエリエンジン(myIsamエンジン)のクエリ速度InnoDB はテーブル内の特定の行数...