vue で wangEditor を使用する方法と、データをエコーし​​てフォーカスを取得する方法

vue で wangEditor を使用する方法と、データをエコーし​​てフォーカスを取得する方法

バックグラウンド管理プロジェクトを行う際には、リッチテキストエディタがよく使用されます。ここでは、非常に使いやすいwangEditor使用することをお勧めします。

翻訳:

最初のステップのインストール

npm i wangeditor --save

2番目のステップは、それをプロジェクトで使用することです

html

ページのレイアウトの編集と追加は下部にあります

<div id="div1">
    <p><b>wangEditor</b> リッチ テキスト エディターへようこそ</p>
</div>

<el-button type="primary" @click="createData()">要件の作成</el-button>
<el-button size="mini" @click="createData(index, row, true)">編集</el-button>
import E from 'wangeditor' // プラグインをインポート const editor = null
// または const editor = new E( document.getElementById('div1') )
データ() {
	戻る {
		ダイアログフォーム: {
	        id: null、
	        部門ID: ''、
	        システム構成ID: ''、
	        タイトル: ''、
	        説明: ''、
	        優先度レベル: ''、
	        ファイルURL: ''
	      },
      },
},
メソッド: {
    初期化エディタ() {
      if (編集者) 戻り
      エディター = 新しい E('#div1')
      // カスタムメニュー構成 editor.config.menus = [
        'head'、// タイトル'bold'、// 太字'fontSize'、// フォント サイズ'fontName'、// フォント'italic'、// 斜体'underline'、// 下線'strikeThrough'、// 取り消し線'foreColor'、// テキストの色'backColor'、// 背景色'link'、// リンクを挿入'list'、// リスト'justify'、// 引用'image'、// 画像を挿入'table'、// 表'code'、// コードを挿入'undo'、// 元に戻す'redo' // 繰り返し]
      editor.config.onchange = (html) => { // エディター内のコンテンツ console.log(html, 'content')
        this.dialogForm.description = html // データで定義された値を割り当てる}

      editor.config.customUploadImg = (files, insert) => { // リッチテキストで画像をアップロード const param = new FormData()
        param.append('ファイル', ファイル[0])
        requireManage.updateOther(param).then((res) => { // 画像をアップロードする interfaceif (res.data) {
            挿入(res.data[0])
          }
        })
      }
      editor.create() // リッチテキストを使用して作成},
    createData( row, edit) { // ディスプレイを作成または編集します this.dialogVisible = true
      this.$nextTick(() => { // フォーカスを取得するには this.$nextTick を使用します this.$refs['dialogForm'].resetFields()
        this.initEditor() // 上に書いたメソッドを呼び出す editor.txt.html('') // リッチテキストの内容をクリアする if (edit) { // 編集中の場合は次のステップに進む this.dialogForm = JSON.parse(JSON.stringify(row)) // エコーされたデータ this.dialogForm.id = row.id
          editor.txt.html(this.dialogForm.description) //エコーされたデータをリッチテキストに挿入します}
      })
    },
 }

下の写真をご覧ください

元々フォーカスは取得されていましたが、スクリーンショットを撮ったときにはフォーカスが合っていなかったので、写真ではフォーカスが合っていません。

翻訳者

html

<el-行>
	<el-dialog top="50px" :title="titleType == 1 ? '質問を追加' : '質問を編集'" :visible.sync="dialogVisible" width="50%" @close="closeDialog">
      <div>
        <el-form ref="ダイアログフォーム" :model="ダイアログフォーム" :rules="ダイアログルール" label-width="100px">
          <el-form-item label="部門" prop="部門ID">
            <el-select v-model="dialogForm.departmentId" placeholder="部門を選択してください">
              <el-option v-for="必須の部署のアイテム" :key="item.id" :label="item.departmentName" :value="item.id" />
            </el-select>
          </el-form-item>
          <el-form-item label="システムを選択" prop="systemConfigId">
            <el-select v-model="dialogForm.systemConfigId" placeholder="システムを選択してください">
              <el-option v-for="systemArr 内のアイテム" :key="item.id" :label="item.name" :value="item.id" />
            </el-select>
          </el-form-item>
          <el-form-item label="タイトル" prop="タイトル">
            <el-input v-model="ダイアログフォーム.title" />
          </el-form-item>
          <el-form-item label="説明" prop="説明">
            <div id="説明" スタイル="幅: 100%" />
          </el-form-item>
          <el-form-item label="優先度レベル" prop="priorityLevel">
            <el-select v-model="dialogForm.priorityLevel" placeholder="優先度レベルを選択してください">
              <el-option label="高" :value="3" />
              <el-option label="中" :value="2" />
              <el-option label="低" :value="1" />
            </el-select>
          </el-form-item>
          <el-form-item label="添付ファイルをアップロード">
            <el-upload アクション="/fms/api/productDev/updateOther" >
              <el-button size="small" type="primary">クリックしてアップロード</el-button>
            </el-アップロード>
          </el-form-item>
        </el-form>
      </div>
      <span slot="フッター" class="ダイアログフッター">
        <el-button type="primary">送信</el-button>
      </span>
    </el-ダイアログ>
 </el-row>

これで、vue での wangEditor の使用と、データをエコーし​​てフォーカスを取得する方法についての記事は終了です。vue wangEditor の使用に関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • VueプロジェクトでReactを書く方法の詳細
  • Vue+element はローカル検索機能付きのドロップダウン メニューを実装します
  • vue3とvue2の利点の比較
  • Vue は動的なプログレスバー効果を実現します
  • Vue は動的な円形のパーセンテージ進捗バーを実装します
  • Vueはパーセンテージバー効果を実現します
  • Vueでドラッグ可能なコンポーネントを実装する方法
  • Vue でコミュニケーションを実装する 8 つの方法

<<:  MySQL マスタースレーブレプリケーションの原理からインストールと設定までを包括的に解説します。

>>:  Ubuntu 18.04 のインストールで「ldlinux.c32 のロードに失敗しました」というエラーが表示され、解決手順がわかりません

推薦する

JavaScript の 7 つのデータ型の詳細な説明

目次序文:詳しい紹介:練習する:要約する序文: Python、Java、Cシリーズなど、すべての主要...

2級コンピュータ試験のMySQL知識ポイント mysql alterコマンド

テーブル構造を編集するための MySQL の alter コマンドの使用。具体的な内容は以下のとおり...

Linux7 ベースの Hadoop のインストールと構成の詳細なグラフィック説明

上記のように材料を準備します(ps: hadoop-3.1.2-srcはhadoop-3.1.2に変...

JavaScript+html はフロントエンドページでランダム QR コード検証を実装します

クールなフロントエンドページのランダムQRコード検証を参考までに共有します。具体的な内容は次のとおり...

Mysql マスタースレーブ サービスの実装例を構成する

Mysql マスタースレーブ サービスの実装例を構成する### メインデータベースmy.cnfを構成...

Element-UIの10の驚くべきトリックのまとめ

目次el-scrollbar スクロールバーel-uploadはクリックをシミュレートしますel-s...

MySQL の制限使用法とページングクエリステートメントのパフォーマンス分析の詳細な説明

使用制限クエリ ステートメントを使用する場合、多くの場合、データの最初の数行または中間行を返す必要が...

HTML でフロートをクリアする 2 つの方法

1. クリアフローティング法1前の親要素の高さを設定します。注: エンタープライズ開発では、可能であ...

フォーム送信時に追加のパラメータを渡すためのいくつかの一般的な方法

フォームを送信するときに、送信前に追加のパラメータが追加される状況が発生する場合があります。この問題...

Linux での MySQL 5.6.27 インストール チュートリアル

この記事では、LinuxでのMySQL 5.6.27のインストールチュートリアルを参考までに紹介しま...

MySQL スロークエリ pt-query-digest スロークエリログの分析

1. はじめにpt-query-digest は、MySQL のスロー クエリを分析するためのツール...

Vueは製品の拡大鏡効果を実現します

この記事の例では、製品の拡大鏡効果を実現するためのVueの具体的なコードを共有しています。具体的な内...

HTMLドキュメントタイプの詳細な説明

私のは: <!DOCTYPE html>ブログガーデン: <!DOCTYPE HT...

Webサービスのリモートデバッグとタイムアウト動作原理の分析

Webサービスのリモートデバッグ.NET では、WEBSERVICE のリモート デバッグ機能はデフ...

動的なテーブル効果を実現するJavaScript

この記事では、動的なテーブル効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...