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 のプライベート クラス フィールドと TypeScript のプライベート修飾子の詳細な説明

目次JavaScript のプライベート クラス フィールドとプライバシーの必要性JavaScrip...

MySQL での挿入効率のいくつかの例の比較

序文最近、仕事の都合で、約 1000w の大量のデータを MySQL に挿入する必要があり、時間がか...

jQuery を使用して、iframe 下の無効なページ アンカー ポイントの問題を修正する

適用シナリオ: iframe ページにスクロール バーがなく、親ウィンドウにスクロール バーが表示さ...

MySQL共通インデックスとユニークインデックスの詳細な説明

シナリオ1. ID番号のフィールドを備えた市民システムを維持する2. ビジネス コードでは、重複する...

MySql テーブル、データベース、シャーディング、パーティショニングの知識ポイントの紹介

1. はじめにデータベース内のデータ量が一定レベルに達すると、システムパフォーマンスのボトルネックを...

Linux で Oracle データベースをバックアップするためのスケジュールされたタスクの設定に関するチュートリアル

1. データベースの文字セットを確認するデータベースの文字セットは、Linux で設定された環境変数...

JavaScript 配列メソッドの詳細な例

目次導入配列の作成作成方法詳しい説明方法参加する() push() と pop() shift() ...

MySQL 同時実行制御の原則に関する知識ポイント

Mysql は、高性能なデータ ストレージ サービスを提供する主流のオープン ソース リレーショナル...

Linux環境でglogログライブラリを使用する方法

Linuxライブラリを生成するLinux版はcentos7.3を使用し、コンパイルしてライブラリを生...

Vueはボトムクエリ関数を実装します

この記事では、ボトムクエリ機能を実装するためのVueの具体的なコードを例として紹介します。具体的な内...

Node.js を使用して png 画像に透明なピクセルがあるかどうかを判断する方法

背景PNG 画像は jpg 画像よりも多くのストレージスペースを占有しますが、PNG 画像の品質は大...

a タグをクリックして入力ファイルのアップロードダイアログボックスを表示する方法

htmlコードをコピーコードは次のとおりです。 <SPAN class=tag><...

CentOS7環境でDockerを使ってPHP動作環境を構築する手順を詳しく解説

関連記事: CentOS7でyumを使用してDockerをインストールするDockerを使ってWin...

vue ディレクティブ v-bind の使用と注意点

目次1. v-bind: 要素の属性にデータをバインドできる2. v-bind: は次のように省略で...

Linux サーバー上のローカル静的リソースにアクセスするために nginx を使用する方法

1. ポート 80 が占有されているかどうかを確認します。通常、ポート 80 は Apache サー...