ホームページ >ウェブフロントエンド >Vue.js >Vue ドキュメントのレスポンシブ フォーム コンポーネントの実装手順

Vue ドキュメントのレスポンシブ フォーム コンポーネントの実装手順

WBOY
WBOYオリジナル
2023-06-21 10:51:091169ブラウズ

Vue は人気のある JavaScript フレームワークです。レスポンシブ フォーム コンポーネントは、ユーザーの入力や操作にリアルタイムで応答し、ユーザー エクスペリエンスをよりスムーズで快適なものにするため、開発プロセスでよく使用される機能です。この記事では、Vue ドキュメントにレスポンシブ フォーム コンポーネントを実装する手順を紹介します。

  1. データの準備

レスポンシブ フォーム コンポーネントの実装を開始する前に、まずデータを準備する必要があります。このデータには、フォーム内のさまざまな入力ボックス、ドロップダウン オプションなどに加え、それらのデフォルト値や検証ルールも含まれます。 Vue では、data 属性を使用してこのデータを保存できます。

たとえば、ユーザー名とパスワードの 2 つの入力ボックスを含むログイン フォームを実装する場合は、次のようにデータ属性を記述できます。

data() {
  return {
    form: {
      username: '',
      password: '',
    },
    rules: {
      username: [
        { required: true, message: '请输入用户名', trigger: 'blur' },
      ],
      password: [
        { required: true, message: '请输入密码', trigger: 'blur' },
      ],
    },
  };
},

2 つのオブジェクト、フォームとルール、それぞれここで定義されており、フォーム データと検証ルールを保存するために使用されます。フォーム オブジェクトにはユーザー名とパスワードの 2 つの属性が含まれており、それらのデフォルト値は空です。 rules オブジェクトには、ユーザー名とパスワードという 2 つの属性も含まれており、その値は配列であり、必須、最小長、最大長などの入力ボックス検証ルールが含まれています。

  1. フォームのレンダリング

データを準備した後、HTML でフォーム コンポーネントをレンダリングする必要があります。 Vue では、template 属性を使用してテンプレートを定義し、コンポーネントの render メソッドでそれをレンダリングできます。

たとえば、ユーザー名入力ボックスとパスワード入力ボックスを含む単純なフォーム コンポーネントをレンダリングし、そのフォーム コンポーネントを Element UI ライブラリで使用するには、次のようにします。

<template>
  <el-form :model="form" :rules="rules" ref="form">
    <el-form-item label="用户名" prop="username">
      <el-input v-model="form.username"></el-input>
    </el-form-item>
    <el-form-item label="密码" prop="password">
      <el-input v-model="form.password" type="password"></el-input>
    </el-form-item>
    <el-form-item>
      <el-button type="primary" @click="handleSubmit">登录</el-button>
    </el-form-item>
  </el-form>
</template>

Element はここで使用されます。 UI の el-form および el-input コンポーネントはフォームのレンダリングに使用され、v-model ディレクティブはフォーム データを入力ボックスの値に双方向バインドするために使用されます。

  1. 検証フォーム

フォームをレンダリングした後、フォームに検証関数を追加する必要があります。 Vue では、watch 属性を使用してフォーム データの変更を監視し、データがいつ変更されたかを確認できます。

たとえば、上記のログイン フォーム コンポーネントにフォーム検証関数を追加します:

watch: {
  'form.username'(value) {
    this.$refs.form.validateField('username');
  },
  'form.password'(value) {
    this.$refs.form.validateField('password');
  },
},
methods: {
  handleSubmit() {
    this.$refs.form.validate((valid) => {
      if (valid) {
        // 表单验证通过,可以提交表单了
        // ...
      } else {
        // 表单验证失败,不提交表单
        return false;
      }
    });
  },
},

watch 属性は、フォーム データの変更を監視するためにここで使用されます。ユーザー名またはパスワードが変更されると、フォームコンポーネントの validateField メソッドを使用して検証します。さらに、handleSubmit メソッドも記述されています。フォームを送信すると、最初に全体的な検証が実行されます。全体的な検証に合格した場合、フォームは送信されます。そうでない場合、フォームは送信されず、検証が失敗したことがユーザーに通知されます。

  1. 結論

上記は、Vue ドキュメントにレスポンシブ フォーム コンポーネントを実装する手順です。データを準備し、フォームをレンダリングし、フォームを検証し、その他の手順を実行することで、完全に機能するレスポンシブ フォーム コンポーネントを迅速に実装でき、より便利で高速かつフレンドリーなユーザー エクスペリエンスを提供できます。

以上がVue ドキュメントのレスポンシブ フォーム コンポーネントの実装手順の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。