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 のロードに失敗しました」というエラーが表示され、解決手順がわかりません

推薦する

Vue3 における ref と reactive の詳細な説明と拡張

目次1. 参照と反応1. 反応的2.参照2. shallowRef と shallowReactiv...

Linux statコマンドの使用

1. コマンドの紹介stat コマンドは、ファイルまたはファイル システムに関する詳細情報を表示する...

JavaプログラミングでJavaScriptの超実用的なテーブルプラグインを書く

目次効果ドキュメント最初のステップステップ2ステップ3ソースコード効果ドキュメント最初のステップta...

Linux nslookup コマンドの使用方法の詳細な説明

[nslookup とは?] 】 nslookup コマンドは、Linux で非常によく使用されるネ...

sed コマンドを使用してファイルの特定の行を効率的に削除する方法

序文通常、ファイル内の特定の行を削除したい場合は、まずファイルを開き、削除する内容を見つけて、これら...

MySQL 5.7 インストール不要の設定グラフィックチュートリアル

Mysql は人気があり、使いやすいデータベース ソフトウェアです。以下は、mysql の無料インス...

VMWare に CentOS 7.3 をインストールするグラフィカル チュートリアル

CentOS 7.3のインストール手順を図解しました。具体的な内容は次のとおりです。この記事では、v...

CSS で実装された円形のプログレスバー

成果を達成する 実装コードhtml <div class="wrap"&g...

Vue ローカルコンポーネントデータ共有 Vue.observable() の使用

コンポーネントが詳細になるにつれて、複数のコンポーネントが状態を共有する状況に遭遇するでしょう。Vu...

Windows Server 2008 のサーバー パフォーマンス監視に関するチュートリアル

次に、ログ管理、ログのアーカイブ、ログのトラブルシューティング、イベントの転送と収集のためのコンピュ...

JavaScript でよく使われる 5 つのオブジェクト

目次1. JavaScript オブジェクト1).配列オブジェクト2).ブールオブジェクト3).日付...

Linux のインスタンスにパブリック IP アドレスを割り当てる方法

説明するこのインターフェースを呼び出すときは、次の点に注意する必要があります。パブリック IP アド...

Dockerボリューム削除操作

プルーンこのコマンドを使用するには、クライアントとデーモンの両方の API バージョンが少なくとも ...

Vue の DOM の非同期更新の簡単な分析

目次Vue が DOM を非同期更新する原理1 実際の DOM 要素を取得できるのはいつですか? 2...

MySQLで判定文を書く方法のまとめ

MySQL で判断文を書く方法:方法1. CASE関数case関数の構文: CASE条件 値1の場合...