3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Duplicate keys detected: '0'. This may cause an update error.

Posted at

フォーム要素を表示すると

下記のように、v-forで複数要素を表示しようとした。

.vue
<el-form>
  <!-- 要素 ① -->
  <div v-for="(item, index) in data1" :key="index">
      <el-form-item>
        <!-- 略 -->
      </el-form-item>
    </ui-allowed-domain>
  </div>
  <!-- 要素 ② -->
  <div v-for="(item, index) in data2" :key="index">
      <el-form-item>
        <!-- 略 -->
      </el-form-item>
    </ui-allowed-domain>
  </div>
</el-form>

要素②を追加したところ・・
d4d83dd6a608afe75186e8bcbdb7e95c.png

このようなエラーが発生。

親要素を変えるか、keyにプレフィックスを与える

原因を調べてみると、どうやら同一の親要素の直下にある要素同士がkeyにindexを使った場合、「キーが重複している」とエラーを出すようになっているらしい。

解決方法は、div要素などで囲ってあげることで親要素を変える。
または下記のようにプレフィックスをindexにつけることで、indexをユニークにする。

要素①
:key="`form-1-${index}`"

要素②
:key="`form-2-${index}`"
3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?