控制台的警告是这样的。
[Vue warn]: <transition-group> children must be keyed: <li>
found in
---> <TransitionGroup>
<ElUploadList> at packages/upload/src/upload-list.vue
<ElUpload> at packages/upload/src/index.vue
<Root>
我的html代码是这样,v-for遍历渲染了几个el-upload。百度一下,解决办法说要加key,我在v-for那里和el-upload标签加了都没有用。另外FXJXM是编码,是唯一的。
<div class="body-item" v-for="(item, index) in FXJXMS" :key="item.FXJXM">
<div class="title">
<div class="value">{{item.FDATAVALUE}}</div>
<div class="desc">{{item.FInspectionStandard}}</div>
</div>
<div class="buttom">
<el-radio-group v-model="normals[index]" class="radio-group">
<el-radio :label="1">正常</el-radio>
<el-radio :label="2">异常</el-radio>
</el-radio-group>
<el-upload :key="item.FXJXM" class="upload" action="/xj/upload" :data="document" :on-change="handleChange" :on-success="uploadSuccess" :file-list="fileList">
<el-button size="small" type="primary" class="el-icon-picture" @click="getIndex(index)">拍照</el-button>
</el-upload>
</div>
</div>
请问这个警告得怎么解决??
检查一下 :file-list="fileList"
的传值有没有问题
这个警告是因为在使用 <transition-group>
组件时,你需要在直接子元素(在这个案例中是 <div class="body-item">
)上添加 key
而不是在 <el-upload>
上。<transition-group>
需要知道每个子元素的唯一标识符(key
)来跟踪它们的身份,以便在列表更新时应用正确的过渡。
在你的代码中,虽然你在 <div class="body-item">
的父元素上使用了 v-for
和 :key
,但 <transition-group>
并不直接包含这些 <div>
,因此 Vue 无法识别出它们。
但是,如果你没有直接使用 <transition-group>
,而只是看到了与 <transition-group>
相关的警告,那可能是因为你使用的 el-upload
组件(可能是 Element UI 的 el-upload
)内部使用了 <transition-group>
。在这种情况下,你需要确保传递给 el-upload
组件的列表项(通常是文件列表)中的每个文件都有唯一的 key
。
然而,在你的案例中,你似乎并没有在 el-upload
内部使用列表,所以你可能不需要在 el-upload
上添加 key
。相反,你应该确保 <div class="body-item">
的 key
绑定是正确的。
但是,为了完全消除这个警告,并且假设 el-upload-list
(可能是 Element UI 的一个组件,它管理上传的文件列表)确实在其内部使用了 <transition-group>
,你可能需要确保传递给 el-upload
组件的任何列表(比如文件列表)中的每个项都有唯一的 key
。但是,在你的代码中并没有看到这样的列表。
基于你给出的代码,这里是你应该如何修复这个警告的示例:
<div v-for="(item, index) in FXJXMS" :key="item.FXJXM" class="body-item">
<!-- ... 其他代码 ... -->
<el-upload class="upload" action="/xj/upload" :data="document" :on-change="handleChange" :on-success="uploadSuccess" :file-list="fileList">
<el-button size="small" type="primary" class="el-icon-picture" @click="getIndex(index)">拍照</el-button>
</el-upload>
</div>
注意,我已经将 :key="item.FXJXM"
移动到了 <div class="body-item">
上,这是正确的做法,因为 v-for
是在这个元素上使用的。如果 item.FXJXM
是唯一的,那么这个警告应该就会消失。
失败:生成失败,出现异常。 > 其中:Script“C:\flutter\packages\flutter_tools\gradle\flutter.gradle”行:900 错误:任务“:app:CompileFlutterBuildDebug”执行失败。 进程“command”C:\flutter\bin\flutter.bat“已完成,退出值为非零%1 生成在%12s中失败异常:Gradle
说我这个属性无效、不合法的,没有定义的 controller是有定义对象的,结果在controller就报上面的错了 InspectionPlan 对象有个属性是private List<FEntity> FEntity; FEntity对象属性FInspectionStandard的get/set方法也有,名字也取跟前端一样。但提交就报错了。请问这是怎么回事? js请求是这样的
问题: impl: @Service public class GraduateCollegeServiceImpl extends ServiceImpl<GraduateCollegeMapper, GraduateCollege> implements IGraduateCollegeService { controller: @Api(tags="各高校") @RestController
我有一个程序使用片段,但我有一个问题,当我包括列表视图在我的传呼机当一个项目在滑动菜单选择。 这些错误是: 在制表符适配器上 公共类TabsPagerAdapter扩展FragmentStatePagerAdapter{ } 行中的错误: public FragmentActivity getItem(int index){ 此行有多个标记-实现android.support.v4.app.Fra
Props: tag - string,默认为 span move-class - 覆盖移动过渡期间应用的 CSS 类。 除了 mode,其他特性和 <transition> 相同。 事件: 事件和 <transition> 相同。 用法: <transition-group> 元素作为多个元素/组件的过渡效果。<transition-group> 渲染一个真实的 DOM 元素。默认渲染 <spa
在线地址, https://stackblitz.com/edit/vue-c98wtb?file=src%2Fcomponents%... 先把数据往下滚动一下,然后再点击 Recovery 按钮, 视图没有更新