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

推薦する

MySQL データ分析ストレージエンジンの例の説明

目次1. 事例紹介2. システムのデフォルトのストレージエンジンとデフォルトの文字セットを表示する3...

Linuxはバイナリモードを使用してmysqlをインストールします

この記事では、LinuxにバイナリモードでMySQLをインストールする具体的な手順を参考までに紹介し...

MySQL監視ツールmysql-monitorの詳細な説明

1. 概要mysql-monitor MYSQL 監視ツール、最適化ツール、1 つの Java Sp...

Vue3 における provide と inject の使用法と原則

序文:親コンポーネントと子コンポーネント間でデータを渡す場合、通常は props と emittin...

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

MySQL8.0.22のインストールと設定(超詳細)参考までに、具体的な内容は次のとおりです。みなさ...

ページ切り替え効果を実現するJSコード

この記事の例では、ページ切り替え効果を実現するためのJSコードの具体的なコードを参考までに共有してい...

JS はランダム点呼システムを実装します

参考までに、JSを使用してランダム点呼システムを実装します。具体的な内容は次のとおりです。毎回の授業...

ウェブデザインにおける階層化インターフェースの設計経験

多くのネットユーザーは、なぜ自分のウェブサイトはいつも色の問題を抱えていて、いつも地味に見え、注目を...

Win7 での Mysql 5.7.17 winx64 インストール チュートリアル

ソフトウェア バージョンとプラットフォーム: MySQL-5.7.17-winx64、win7 Ho...

ウェブページ内でウェブテーブルやdivレイヤーが引き伸ばされる問題の解決策

<br />Web ページをデザインするときには、いつも不快なことに遭遇します。最も一般...

レスポンシブなアコーディオン効果を実現するための CSS3 の詳細な説明

最近、外国人が CSS3 を使用してアコーディオン効果を実現しているビデオを見たので、自分で学習した...

Websocket+Vuexはリアルタイムチャットソフトウェアを実装します

目次序文1. 効果は図の通りです2. 具体的な実施手順1. Vuexの紹介2.webscoked実装...

MySQL シリーズ 12 バックアップとリカバリ

目次チュートリアルシリーズ1. バックアップ戦略の説明1. バックアップの種類2. バックアップで考...

MySQL (InnoDB) がデッドロックを処理する方法の詳細な説明

1. デッドロックとは何ですか?正式な定義は次のとおりです: 2 つのトランザクションが相手側で必要...

Windows 10 1903 エラー 0xc0000135 の解決方法 [推奨]

Windows 10 1903 は、2019 年に Microsoft がリリースした Windo...