uniapp 引入自定义组件的时候报错
报错信息:Component template should contain exactly one root element. If you are using v-if on multiple elements, use v-else-if to chain them instead.
<template>
<view>
<z-comm :commodity="commodity"></z-comm>
<view class="fence">
<view class="fenceItem">
<view class="label">退款金额:</view>
<view class="price">¥ {{commodity.price}}</view>
</view>
<view class="fenceItem">
<view class="label">退款原因:</view>
<input type="text" class="reason" placeholder="必填"></view>
</view>
</view>
<view class="fence">
<view class="fenceItem">上传凭证:</view>
<view class="fenceItem">
<image class="upload" src="../../static/icons/upload.png"></image>
</view>
</view>
</view>
</template>
大致意思是组件模板只能有一个根节点,建议你使用 v-if 和 v-else-if 通过判断来显示其中一个根节点,但是这显然不是我们的意图,我们不想让所谓的“根节点”全部显示出来。
初步推测是组件引入之后让z-comm的兄弟节点变为根节点,包裹一个view解决问题。
<template>
<view>
<!-- 引入组件时出现报“不能有多个根节点”错误,推测组件引入之后使得z-comm的兄弟节点变为根节点,包裹一个view解决问题 -->
<z-comm :commodity="commodity"></z-comm>
<view>
<view class="fence">
<view class="fenceItem">
<view class="label">退款金额:</view>
<view class="price">¥ {{commodity.price}}</view>
</view>
<view class="fenceItem">
<view class="label">退款原因:</view>
<input type="text" class="reason" placeholder="必填"></view>
</view>
</view>
<view class="fence">
<view class="fenceItem">上传凭证:</view>
<view class="fenceItem">
<image class="upload" src="../../static/icons/upload.png"></image>
</view>
</view>
</view>
</view>
</template>