Vue3+Element+Tsは、フォームの基本的な検索リセットやその他の機能を実装します

Vue3+Element+Tsは、フォームの基本的な検索リセットやその他の機能を実装します

Vue2 の記述スタイルから Vue3 の形式に切り替えると、記述スタイルとコード構造にいくつかの変更があります。ここではいくつかの重要なポイントを示します。

ここに画像の説明を挿入

コード構造:

書き方1(推奨):

<スクリプト設定 lang="ts">
'vue' から { ref, reactive } をインポートします
'element-plus' から { ElForm } 型をインポートします
const myform = ref<InstanceType<typeof ElForm>>()
const フォームデータ = リアクティブ({
  名前: ''、
  主題: ''、
  学年: ''
})
// 検索 const submitForm = () => {
  const { 名前、科目、学年 } = formData
  console.log(名前、科目、学年)
}
// リセット const submitReset = () => {
  myform.value?.resetFields()
}
</スクリプト>

<テンプレート>
  <div class="mysearch">
    <el-form :model="formData" label-width="80px" ref="myform">
      <el-row :gutter="24">
        <el-col :span="8">
          <el-form-item label="名前" prop="名前">
            <el-input v-model="formData.name"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="件名" prop="件名">
            <el-input v-model="formData.subject"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="グレード" prop="グレード">
            <el-select v-model="formData.grade" placeholder="選択してください">
              <el-option label="グレード 1" value="上海"></el-option>
              <el-option label="グレード 2" value="北京"></el-option>
            </el-select>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="2" :offset="19">
          <el-button type="primary" size="medium" @click="送信フォーム">
            クエリ</el-button>
        </el-col>
        <el-col :span="2" :offset="0">
          <el-button type="primary" size="medium" @click="送信リセット">
            リセット</el-button>
        </el-col>
      </el-row>
    </el-form>
  </div>
</テンプレート>

<style スコープ lang="less">
.mysearch{
  パディング: 20px;
}
</スタイル>

書き方2:

<テンプレート>
  <div class="mysearch">
    <el-form ref="myform" :model="formData" label-width="80px">
      <el-row :gutter="24">
        <el-col :span="8">
          <el-form-item label="名前" prop="名前">
            <el-input v-model="formData.name"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="件名" prop="件名">
            <el-input v-model="formData.subject"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="グレード" prop="グレード">
            <el-select v-model="formData.grade" placeholder="選択してください">
              <el-option label="グレード 1" value="上海"></el-option>
              <el-option label="グレード 2" value="北京"></el-option>
            </el-select>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="2" :offset="19">
          <el-button type="primary" size="medium" @click="送信フォーム"
            >クエリ</el-button
          >
        </el-col>
        <el-col :span="2" :offset="0">
          <el-button type="primary" size="medium" @click="送信リセット"
            >リセット</el-button
          >
        </el-col>
      </el-row>
    </el-form>
  </div>
</テンプレート>
<script lang="ts">
'vue' から {defineComponent、reactive、ref} をインポートします。
'element-plus' から { ElForm } をインポートします

エクスポートデフォルトdefineComponent({
  設定() {
    const フォームデータ = リアクティブ({
      名前: ''、
      主題: ''、
      学年: ''
    })
    const myform = ref<InstanceType<typeof ElForm>>()
    // 検索 const submitForm = () => {
      const { 名前、科目、学年 } = formData
      console.log(名前、科目、学年)
    }
    // リセット const submitReset = () => {
      myform.value?.resetFields()
    }
    戻る {
      フォームデータ、
      マイフォーム、
      送信フォーム、
      送信リセット
    }
  }
})
</スクリプト>

<style スコープ lang="less">
.mysearch{
  パディング: 20px;
}
</スタイル>

違い:

  • 書き方1は上からJS、HTML、CSSとなっており、Reactに似ておりロジックが明確です。
  • 記述方法 1 は、これまでの Vue2 の記述方法と同様に、上から下へ、つまり HTML、JS、CSS の順です。
  • 記述方法1の形式では、データ、メソッド、その他のコンテンツをエクスポートする必要がないため、コード量を節約できます。

要点:

1. Element Plusの公式サイトデモのコードにはpropがありません

  <el-form-item label="アクティビティ名">
      <el-input v-model="フォーム名"></el-input>
    </el-form-item>

データの応答性を実現するには、記述時に自分でバインドする必要があります。
2. el-formのrefを使用するにはElFormを導入する必要がある

'element-plus' から { ElForm } をインポートします
const myform = ref<InstanceType<typeof ElForm>>()

これで、Vue3+Element+Ts を使って基本的なフォーム検索リセットやその他の機能を実装する方法についての説明は終わりです。Element Ts フォーム検索リセットに関するその他の関連コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue3.0 で要素プラス UI スタイルを導入する 2 つの方法
  • Vue elementUI フォームのネストされたテーブルと各行の検証の詳細な説明
  • vue3 + elementPlus リセットフォームの問題

<<:  Chromeブラウザの自動パスワード保存プロンプト機能を無効にする方法

>>:  SQLの最適化では間違いがよく起こります。それはMySQLのExplain Planの使い方を理解していないからです。

推薦する

JS でオブジェクトが空オブジェクトかどうかを判断する 5 つの方法

1. jsonオブジェクトをjson文字列に変換し、文字列が「{}」であるかどうかを判断します。 v...

Mysql 日付クエリの詳細な紹介

現在の日付を照会する CURRENT_DATE() を選択します。 CURDATE() を選択する;...

Dockerコンテナのホスト間通信におけるダイレクトルーティングの詳細な説明

概要Docker 自体の現在のデフォルト ネットワークについては、単一ホスト上の異なる Docker...

ウェブサイトのフロントエンドをエレガントでユーザーにとって魅力的なものにする方法

ウェブフロントエンドのウェブサイトの気質は感情であり、言葉なしでユーザーを魅了できる感情です。では、...

node.js の require メソッドの読み込みルールの詳細な説明

require メソッドの読み込みルールキャッシュからの読み込みを優先するコアモジュールパス形式のモ...

MySQL EXPLAIN ステートメントの使用例

目次1. 使用方法2. 出力結果1.id 2.選択タイプ3.表4.パーティション5.タイプ6.可能な...

...

Vueのシンプルな状態管理ストアモードを理解する方法

目次概要1. store.jsを定義する2. store.js を使用するコンポーネント3. 成果を...

Packetdrillの簡潔なユーザーガイド

1. Packetdrillのコンパイルとインストールソースコードリンク https://githu...

JavaScript でプロパティハイジャックを実装する方法 defineProperty

目次序文記述子getとsetの詳細な説明オブジェクトの属性の乗っ取りオブジェクトのすべてのプロパティ...

Mysql で自動増分主キー ID を更新するときに問題が発生しました

目次自動インクリメント ID を更新する理由は何ですか?質問解決方法これは私が知っている問題ですが、...

Vue3のサンドボックスの仕組みの詳しい説明

目次序文ブラウザコンパイル版ローカルプリコンパイルバージョン要約する序文vue3サンドボックスには主...

jsは双方向データバインディング(アクセサ監視)を実現します

この記事の例では、双方向データバインディングを実現するためのjsの具体的なコードを参考までに共有して...

MySQL binlog を使用して誤って削除されたデータベースを復元する方法

目次1 現在のデータベースの内容を表示し、データベースをバックアップする2 bin_log関数を有効...