解决vue3组件无根节点时v-show=false不生效的问题

在子组件上使用v-show时,子组件无根节点v-show=false 仍会显示子组件。

从控制台能够看到段落节点无根节点,并且没有 display: none

父组件


<template>
  <div>
    <h1>父组件</h1>
    <Child v-show="false" />
  </div>
</template>

<script lang="ts" setup>
  import { ref, reactive, defineExpose, defineProps, defineEmits } from 'vue';
  import Child from './child.vue';
</script>

<style lang="scss" scoped></style>

子组件

<template>
  <p>段落1</p>
  <p>段落2</p>
  <p>段落3</p>
</template>

<script lang="ts" setup>
  import { ref, reactive, defineExpose, defineProps, defineEmits } from 'vue';
</script>

<style lang="scss" scoped></style>

为子组件添加根节点后

<template>
  <div>
    <p>段落1</p>
    <p>段落2</p>
    <p>段落3</p>
  </div>
</template>

<script lang="ts" setup>
import { ref, reactive, defineExpose, defineProps, defineEmits } from "vue";
</script>

<style lang="scss" scoped></style>
消息盒子
# 您需要首次评论以获取消息 #
# 您需要首次评论以获取消息 #

只显示最新10条未读和已读信息