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の使い方を理解していないからです。

推薦する

hrefパラメータ転送における中国語の文字化けについて

パラメータを渡すために href が必要で、パラメータが中国語の場合、文字化けした文字が表示されます...

MySQL mysqldump の使い方の詳しい説明

1. mysqldump の紹介mysqldump は、MySQL に付属する論理バックアップ ツー...

航空機戦争ゲームを実装するためのネイティブJS

この記事の例では、参考のために航空機戦争ゲームを実装するためのJSの具体的なコードを共有しています。...

MySQL ルートパスワードを変更する複数の方法 (推奨)

方法1: SET PASSWORDコマンドを使用する MySQL -u ルート mysql> ...

js を使用して年カルーセル選択効果をネイティブに実装する例

序文js を使用して、年の回転選択効果を実現します。では早速、写真を見てみましょう。 1. アイデア...

Linux システムで tcpdump を使用してパケットをキャプチャする方法

まずサンプルコードを見てみましょう: 1. 共通パラメータ tcpdump -i eth0 -nn ...

HTML で点線の境界線を設定する方法

CSSスタイルとHTMLタグ要素を使用するさまざまな HTML タグに点線の境界線を追加するために、...

JavaScript でシンプルなタイマーを実装する

この記事では、参考までに簡単なタイマーを実装するためのJavaScriptの具体的なコードを紹介しま...

必見の JavaScript 面接質問 10 選のまとめ (おすすめ)

1.これは1. 誰が誰に電話をかけますか?例: 関数foo(){ console.log(&quo...

vue+canvasでタイムラインを描く方法

この記事では、参考までにvueキャンバスのタイムライン描画の具体的なコードを紹介します。具体的な内容...

MySQL で特定の日、月、または年のデータをクエリするためのコードの詳細な説明

今日 テーブル名から * を選択します。ここで、to_days(時間フィールド名) = to_day...

CSS3 すりガラス効果

すりガラス効果がうまく表現されていれば、ページが非常に鮮やかで立体的に見えるようになります。写真に直...

サブメニューをクリックする効果を実現するJavaScript

この記事では、クリック時にサブメニューを表示するためのJavaScriptの具体的なコードを参考まで...

ウェブページのカラーマッチングにおけるオーバーラップとソフトカラーマッチングの手法を詳しく説明

この記事には、細かい点は一切なく、カラーマッチングのテクニックをシェアするだけです。とてもシンプルで...

Tomcat マルチインスタンスの展開と構成の原則

1. ファイアウォールをオフにし、Tomcatのインストールに必要なソフトウェアパッケージを/opt...