当前位置:首页 > uni-app

uniapp插槽加判断

2026-02-06 11:44:27uni-app

在UniApp中使用插槽加条件判断

UniApp支持Vue的插槽机制,可以通过条件判断动态控制插槽内容的显示。以下方法实现插槽与条件判断的结合:

基本插槽与v-if结合

<template>
  <view>
    <custom-component>
      <template v-slot:default v-if="showSlot">
        <text>默认插槽内容</text>
      </template>
    </custom-component>
  </view>
</template>

具名插槽条件渲染

uniapp插槽加判断

<template>
  <view>
    <custom-component>
      <template v-slot:header v-if="hasHeader">
        <text>头部内容</text>
      </template>

      <template v-slot:footer v-if="showFooter">
        <text>底部内容</text>
      </template>
    </custom-component>
  </view>
</template>

作用域插槽与条件判断

<template>
  <view>
    <list-component :items="dataList">
      <template v-slot:item="slotProps" v-if="slotProps.item.visible">
        <text>{{ slotProps.item.text }}</text>
      </template>
    </list-component>
  </view>
</template>

动态插槽名

uniapp插槽加判断

<template>
  <view>
    <dynamic-component>
      <template #[dynamicSlotName] v-if="shouldRender">
        <text>动态插槽内容</text>
      </template>
    </dynamic-component>
  </view>
</template>

组件内控制插槽渲染 在组件内部可以通过$slots判断插槽是否存在:

export default {
  computed: {
    hasDefaultSlot() {
      return !!this.$slots.default
    }
  }
}

注意事项

  • 条件判断应尽量放在插槽外部,避免频繁创建/销毁插槽内容
  • 作用域插槽的条件判断可以访问插槽传递的属性
  • 动态插槽名需要配合计算属性使用更高效
  • 在H5和小程序端表现一致,但要注意部分平台的渲染差异

标签: 插槽uniapp
分享给朋友:

相关文章

uniapp样式库

uniapp样式库

uniapp 常用样式库推荐 uView UI uView 是专为 uniapp 设计的多端兼容 UI 框架,提供丰富的组件和工具类。支持 Vue3 组合式 API,内置主题定制功能,常用于快速构建企…

uniapp设置title

uniapp设置title

设置页面标题的方法 在UniApp中设置页面标题可以通过以下几种方式实现,适用于不同场景和需求。 通过pages.json配置 在pages.json文件中,可以为每个页面单独配置导航栏标题。找到对…

uniapp隐藏右侧滚动条

uniapp隐藏右侧滚动条

隐藏右侧滚动条的方法 在UniApp中隐藏右侧滚动条可以通过CSS样式实现,适用于H5、小程序等平台。以下是几种常见的方法: 全局样式设置 在App.vue的全局样式中添加以下CSS代码,适用于所有…

uniapp 录像

uniapp 录像

uniapp 录像功能实现 在uniapp中实现录像功能可以通过调用uni-app的API或结合第三方插件完成。以下是常见的实现方法: 使用uni.chooseVideo方法 uni.choose…

uniapp审批

uniapp审批

uniapp审批流程实现 在uniapp中实现审批功能,通常需要结合前端界面和后端逻辑。以下是几种常见的实现方式: 前端界面设计 使用uniapp的组件和API构建审批界面,包括表单提交、审批列表展…

uniapp 图像旋转

uniapp 图像旋转

图像旋转的基本原理 在UniApp中实现图像旋转通常涉及对图像数据的处理或CSS变换。旋转可以通过修改图像的transform属性或使用Canvas API直接操作像素数据实现。 使用CSS实现图像…