Meituan-Dianping/mpvue · error
<${el.tag} v-for="${alias} in ${exp}">: component lists rend
Error message
<${el.tag} v-for="${alias} in ${exp}">: component lists rendered with v-for should have explicit keys. See https://vuejs.org/guide/list.html#key for more info. What it means
Error "<${el.tag} v-for="${alias} in ${exp}">: component lists rendered with v-for should have explicit keys. See https://vuejs.org/guide/list.html#key for more info." thrown in Meituan-Dianping/mpvue.
Source
Thrown at packages/weex-template-compiler/build.js:2881
function genFor (
el,
state,
altGen,
altHelper
) {
var exp = el.for;
var alias = el.alias;
var iterator1 = el.iterator1 ? ("," + (el.iterator1)) : '';
var iterator2 = el.iterator2 ? ("," + (el.iterator2)) : '';
if (process.env.NODE_ENV !== 'production' &&
state.maybeComponent(el) &&
el.tag !== 'slot' &&
el.tag !== 'template' &&
!el.key
) {
state.warn(
"<" + (el.tag) + " v-for=\"" + alias + " in " + exp + "\">: component lists rendered with " +
"v-for should have explicit keys. " +
"See https://vuejs.org/guide/list.html#key for more info.",
true /* tip */
);
}
el.forProcessed = true; // avoid recursion
return (altHelper || '_l') + "((" + exp + ")," +
"function(" + alias + iterator1 + iterator2 + "){" +
"return " + ((altGen || genElement)(el, state)) +
'})'
}
function genData (el, state) {
var data = '{';
// directives first.View on GitHub (pinned to 6c5d78ee04)
Solutions
- Add an explicit :key to the component inside v-for, e.g. <my-item v-for="item in list" :key="item.id">
- Use stable unique ids, not array index, for lists that reorder
- This is only required for component elements; plain elements do not need keys
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/weex-template-compiler/build.js:2881 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Meituan-Dianping/mpvue@6c5d78ee04 (2026-09-02).
Data as JSON: /api/errors/48fe61b727a8da7f.
Report an issue: GitHub.