vue+elementuiは、共有箇条書きボックスの追加と変更の完全なコードを実装します。

vue+elementuiは、共有箇条書きボックスの追加と変更の完全なコードを実装します。

element-ui は、Ele.me のフロントエンド チームが開発者、デザイナー、製品マネージャー向けにリリースした Vue.js 2.0 ベースのデスクトップ コンポーネント ライブラリです。一方、モバイル フォン向けの対応するフレームワークは Mint UI です。 UI スタイル全体がシンプルで実用的であり、開発者の効率も大幅に向上します。非常に人気のあるコンポーネント ライブラリです。

1. 新しい

1. ボタンを追加する

2. ポップアップ ウィンドウを開くためのメソッドに新しいイベントを追加します。
dialogVisibleはデータで定義され、ポップアップボックスの表示を制御するためにtrueまたはfalseで使用されます。

**3. 確認、ポップアップ確認イベントを追加し、追加と変更は同じ確認イベントを共有し、IDを使用して区別します

**3. 新しいイベント

新しく追加されたインターフェースを呼び出して、IDがあるかどうかを確認します。ない場合は、新しく追加されたインターフェースを呼び出します。

II. 変更

2-1. 変更ボタン、テーブル行編集ボタンは、scope.rowを使用して現在の行のデータを取得します。

2-2. イベントを変更し、現在の行データをフォームに割り当てると、現在の行データがエコーアウトされます。

2-3. イベントを変更する

インターフェイスを変更して ID があるかどうかを確認し、ある場合は変更インターフェイスを呼び出します**

以下は直接のコードです

<テンプレート>
  <div>
    <!-- パンくずナビゲーション -->
    <el-breadcrumb セパレータークラス="el-icon-arrow-right">
      <el-breadcrumb-item :to="{ path: '/Welcome' }">ホーム</el-breadcrumb-item>
      <el-breadcrumb-item>権限管理</el-breadcrumb-item>
      <el-breadcrumb-item>ロールのリスト</el-breadcrumb-item>
    </el-breadcrumb>
    <!-- カード -->
    <el-card クラス="ボックスカード">
      <!-- 追加ボタン-->
      <el-row :gutter="20">
        <el-col :span="6">
          <div class="grid-content bg-purple"></div>
          <el-button type="primary" @click="onhandAdd">役割を追加</el-button>
        </el-col>
      </el-row>
      <!-- 表 -->
      <el-table :data="テーブルデータ" border="" style="幅: 100%">
        <el-table-column type="expand">
          <テンプレート スロット スコープ="スコープ">
            <el-row
              :class="['bdbottom',i1 === 0? 'bdtop' : '', 'vcenter'] "
              :ガター="20"
              :span="6"
              v-for="(item_ong,i1) スコープ内の行の子"
              :key="item_ong.id"
            >
              <!-- レベル 1 -->
              <el-col :span="5">
                <el-tag>{{item_ong.authName}}</el-tag>
                <i class="el-icon-caret-right"></i>
              </el-col>
              <!-- 中等教育および高等教育レベル -->
              <el-col :span="19">
                <!-- 第 2 レベルの権限 -->
                <el-row v-for="(item_two,i2) in item_ong.children" :key="i2">
                  <el-col :span="6">
                    <el-tag type="success">{{item_two.authName}}</el-tag>
                    <i class="el-icon-caret-right"></i>
                  </el-col>
                  <el-col :span="18">
                    <elタグ
                      タイプ="警告"
                      v-for="(item_three,i3) in item_two.children"
                      :key="i3"
                    >{{item_three.authName}}</el-tag>
                    <i class="el-icon-caret-right"></i>
                  </el-col>
                </el-row>
              </el-col>
            </el-row>
          </テンプレート>
        </el-table-column>
        <el-table-column ラベル="#" タイプ="インデックス" 幅="80"></el-table-column>
        <el-table-column label="ロール名" prop="roleName"></el-table-column>
        <el-table-column label="役割の説明" prop="roleDesc"></el-table-column>
        <el-table-column label="操作" prop="id">
          <テンプレート スロット スコープ="スコープ">
            <el-ボタン
              タイプ="プライマリ"
              アイコン="el-icon-edit"
              サイズ="小"
              @click="handleEdit(scope.$index, scope.row)"
            >編集</el-button>
            <el-button type="warning" icon="el-icon-delete" size="small">削除</el-button>
            <el-button type="danger" icon="el-icon-edit" size="small">権限</el-button>
          </テンプレート>
        </el-table-column>
      </el-table>
    </el-card>
    <!-- 編集ポップアップ ボックスを追加しました -->
    <el-ダイアログ
      :title="タイトルを追加"
      :visible.sync="ダイアログを表示"
      幅="40%"
      :before-close="ハンドルを閉じる"
    >
      <el-フォーム
        :model="ルールフォーム"
        :rules="ルール"
        ref="refルールフォーム"
        ラベル幅="100px"
        クラス="デモルールフォーム"
      >
        <el-form-item label="ロール名" prop="roleName">
          <el-input v-model="ruleForm.roleName"></el-input>
        </el-form-item>
        <el-form-item label="役割の説明" prop="roleDesc">
          <el-input v-model="ruleForm.roleDesc"></el-input>
        </el-form-item>
      </el-form>
      <span slot="フッター" class="ダイアログフッター">
        <el-button @click="dialogVisible = false">キャンセル</el-button>
        <el-button type="primary" @click="dialogVisibleConfirm">確認</el-button>
      </span>
    </el-ダイアログ>
  </div>
</テンプレート>

<スクリプト>
エクスポートデフォルト{
  データ() {
    戻る {
      テーブルデータ: [],
      ダイアログ表示: false、
      addtitle: "役割を追加",
      ルールフォーム: {
        ロール名: "",
        役割の説明: ""
      },
      すべて: "",
      // 検証ルール: {
        ロール名: [
          { 必須: true、メッセージ: "キャラクター名を入力してください"、トリガー: "blur" }、
          { 最小: 3、最大: 5、メッセージ: "長さは 3 文字から 5 文字の間です"、トリガー: "ぼかし" }
        ]、
        roleDesc: [{ 必須: true、メッセージ: "ロールの説明"、トリガー: "ぼかし" }]
      }
    };
  },
  作成された() {
    this.tabList();
  },
  メソッド: {
    // テーブルインターフェースリスト tabList() {
      this.$api.jurisdiction.rolelist().then(res => {
        console.log(res.data.data, "]]]]]]]");
        テーブルデータを返します。
      });
    },
    // 追加 onhandAdd() {
      this.dialogVisible = true;
    },
    ハンドルクローズ(完了) {
      this.dialogVisible = false;
    },
    // 編集 handleEdit(index, row) {
      console.log(インデックス、行ID);
      this.dialogVisible = true; //ポップアップボックスを表示します this.ruleForm = row; //現在の行データを行に書き込み、現在の行データをフォームに割り当てます this.allid = row.id; //IDをグローバルに保存します},
    // 確認ダイアログVisibleConfirm() {
      // 新しいインターフェース if (!this.allid) {
        this.$api.jurisdiction.addrole(this.ruleForm)
          .then(res => {
            // コンソール.log(res,"new")
            this.$message.success("正常に追加されました"); // 正常に追加されたことを示すメッセージプロンプト this.$refs.refRuleForm.resetFields(); // テーブルデータをクリア this.dialogVisible = false; // ポップアップボックスを閉じる this.tabList(); // リストを更新する })
          .catch(res => {
            this.$message.error("追加に失敗しました");
          });
      } それ以外 {
        // インターフェースを変更する let id = this.allid
        パラメータ = {
          ロール名:this.ruleForm.roleName、
          ロールの説明:this.ruleForm.roleDesc、
        }
        this.$api.jurisdiction.edtrole(id,params)
          .then(res => {
            console.log(res,"変更")
            this.$message.success("変更に成功しました");
            this.$refs.refRuleForm.resetFields();
            this.dialogVisible = false;
            this.tabList();
          })
          .catch(res => {
            this.$message.error("変更に失敗しました");
          });
      }
    }
  }
};
</スクリプト>

<スタイルスコープ>
.bdtop {
  上境界線: 1px 実線 #eee;
  パディング上部: 10px;
}
.bdボトム{
  下境界線: 1px 実線 #eee;
  パディング下部: 10px;
  パディング上部: 10px;
}
.elタグ{
  マージン: 10px 0px;
}
.vcenter {
  ディスプレイ: フレックス;
  アイテムの位置を中央揃えにします。
}
</スタイル>

上記は、vue+elementui を使用して共有ポップアップ ボックスを追加および変更するための完全なコードの詳細です。vue elementui ポップアップ ボックスの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Vue+elementuiは、テーブル内のセルをクリックしてイベント(箇条書きボックス)をトリガーすることを実現します。
  • vue elementUI が el-select を使用するときに変更イベントがトリガーされる問題を解決する
  • VUE-ElementUIカスタムロードチャート操作
  • vue+elementUI でのテーブルの強調表示またはフォント色の変更操作
  • vue+ElementUIはダイアログボックスを閉じ、検証をクリアし、フォーム操作をクリアします。

<<:  Mysqlデータテーブルでワームレプリケーションを使用する方法

>>:  Centos8 システムの VMware インストール チュートリアル図 (コマンド ライン モード)

推薦する

WeChatアプレットwebViewにH5を埋め込む方法の例

序文WeChat ミニプログラムは新しいオープン機能を提供します!ついにミニプログラムにHTMLペー...

Vue.set() と this.$set() の使い方と違い

開発に Vue を使用する場合、次のような状況に遭遇することがあります。Vue インスタンスを生成し...

Linux SSHポートを転送する3つの方法

ssh は私が最も頻繁に使用する 2 つのコマンドライン ツールのうちの 1 つです (もう 1 つ...

Ansible を使用した Nginx のバッチ デプロイのサンプル コード

1.1 nginxインストールパッケージとインストールスクリプトをクライアントにコピーし、スクリプト...

MySQLインデックスが失敗するいくつかの状況の分析

1. 最左プレフィックス原則 - 複数の列にインデックスが付けられている場合は、最左プレフィックス原...

Linux ファイルディレクトリ管理コマンドの概要

タッチコマンドこれには 2 つの機能があります。1 つは、既存のファイルの時間タグを現在のシステム時...

Vueのドラッグスクリーンショット機能を実装する簡単な方法

マウスをドラッグしてページのスクリーンショットを撮ります(指定した領域にスクリーンショットをドラッグ...

初心者向け入門チュートリアル: ドメイン名の解決とバインディング

では、ドメイン名を登録して仮想ホストを購入した後、IE でドメイン名を入力して Web サイトを開く...

Docker 学習: コンテナ コンテナの具体的な使用方法

コンテナは Docker のもう一つの中心的な概念です。簡単に言えば、コンテナとは、独立して実行され...

React-Dropzone をベースにアップロードコンポーネント機能を開発する (サンプルデモ)

今回はReact-Flaskフレームワーク上でアップロードコンポーネントを開発するスキルについてお話...

JavaScript データ型変換の例 (他の型を文字列、数値型、ブール型に変換する)

序文データ型変換とは何ですか?フォームまたはプロンプトを使用して取得されるデフォルトのデータ型は文字...

Vue-Element-Adminはログインジャンプを実現するために独自のインターフェースを統合しています

1. まずリクエスト設定ファイルを見て、axios.createメソッドを見てください。baseUR...

Linux で Scala 環境を構築し、簡単な Scala プログラムを書く

Linux に Scala 環境をインストールするのは非常に簡単です。Ubuntu 環境であれば、さ...

Docker コンテナに TensorRT をインストールする際の問題

Ubuntu にインストールされているバージョンをアンインストールします。 sudo apt-get...

HTML要素によるFlashブロックの詳細な例

コードをコピーコードは次のとおりです。 wmode パラメータ:透過モード: z-indexを使用し...