为什么 Vue / Vuetify / Vite 发出这个奇怪的警告?

qui*_*kin 1 vue.js vuetify.js vuejs3 vite

我正在构建一组 Vuetify“芯片”,可以将数据从一个芯片拖到另一个芯片:

<v-container id="endgrid" style="max-width: 300px; position: relative;">
  <v-row v-for="(row,r) in endGrid">
      <v-chip  size="x-large"  
       v-for="(chip,c) in row"
        :key="chip.name" 
        draggable="true"
        @drop="drop($event)"
        @dragover="allowDrop($event)"
        @dragstart="drag($event)"
        :id=idString(1,r,c)
        > {{ chip.name }}  </v-chip>
  </v-row>
</v-container>
Run Code Online (Sandbox Code Playgroud)

它按预期工作。但在文档创建过程中,对于每一项(共 25 项)创建,我都会收到此警告(在调试控制台中)chip

[Vue warn]: Invalid prop: type check failed for prop "draggable". Expected Boolean, got String with value "true". 
   at <VChip size="x-large" key=43 draggable="true"  ... >
Run Code Online (Sandbox Code Playgroud)

我确信正确的语法draggable是字符串,而不是布尔值。虽然如果我删除引号,警告仍然出现 - 但代码仍然有效。我担心的是

  • 这可能隐藏了我的代码中的其他错误
  • 即使没有,浏览器调试控制台中出现的那些警告看起来也不太好!

由于它可能是相关的,因此用于构建网格的数据如下所示:

onBeforeMount(() => {
  var index = 1;
  for (var i = 0; i < 5; i++)
  {
    endGrid[i] = [];
    for (var j = 0; j < 5; j++)
    {
        endGrid[i][j] = {
            "name" : i*10+j,
            "id" : index,
            "row" : i,  
            "col" : j,
            "list": 'end'
        };
        ++index;
    }
  }

});
Run Code Online (Sandbox Code Playgroud)

Nik*_*vic 5

您需要draggable先绑定才能传递布尔值:

:draggable="true"
Run Code Online (Sandbox Code Playgroud)

  • 这可能会起作用。此外,也可能起作用的是“可拖动”,无需其他任何东西。 (4认同)