vue element UIフォーム検証機能の配列が複数ネストされています。


vue element-ui formフォームを使用してレンダリングすると、このようなデータ構造が発生する。

{
"title":''123455,
"email":'[email protected]',
"list": [
      {
        "id": "quis consequat culpa ut pariatur",
        "name": "et quis irure dolore ullamco",
        "ompany": "sunt mollit",
        "address": "anim reprehenderit aliquip labore velit"
      },
      {
        "id": "",
        "name": "laborum magna",
        "company": "mollit esse ipsum quis",
        "address": "cillum dolore ex ut"
      },
    ]
}
リストのようなフィールド値に出会うには、次の複数のフィールド値を引き続き使う必要があります。リストの下のフィールドに直接バインドされたprop=「対応するフィールド値」は、成功を検証することができません。解決方法は2つあります。
1、行列のところに<el-form :model=" " v-for=" list "></el-form>をもう一つセットします。
    リスト配列の下のフィールドに直接またはバインディングprop名を元の名前にすればいいです。
サンプルコードは以下の通りです。

<el-form :model="item" v-for="(item,index) in dataFields.list :key="index">
  <el-form-item label="name" prop="name" :rules="{ required: true, message: 'Required', trigger: 'blur' }">
   <el-input placeholder="name" v-model="item.name"></el-input>
  </el-form-item>
</el-form>
 
2、直接リスト配列の下にあるオブジェクトのフィールド名をバインドします。   配列の名前
サンプルコードは以下の通りです。

<div v-for="(item,index) in dataFields.list :key="index">
  <el-form-item label="name" :prop="`list[${index}].name`" :rules="{ required: true, message: 'Required', trigger: 'blur' }">
    <el-input placeholder="name" v-model="item.name"></el-input>
  </el-form-item>
</div>
ここでリストは上のオブジェクトの配列であり、datafieldsは最外層のオブジェクトである。
締め括りをつける
以上は、小編集が紹介したvue element UIフォームのチェック機能の配列が何重にもネストされていますので、皆さんに何かお聞きしたいことがあれば、メッセージをください。ここでも私たちのサイトを応援してくれてありがとうございます。
本文があなたのためになると思ったら、転載を歓迎します。出所を明記してください。ありがとうございます。