当前位置:首页 > 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>

具名插槽条件渲染

<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>

动态插槽名

<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
    }
  }
}

注意事项

uniapp插槽加判断

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

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

相关文章

uniapp部署到服务器

uniapp部署到服务器

部署准备 确保本地开发环境已完成项目构建,生成静态文件(H5端为/dist/build/h5目录)。检查服务器环境是否安装Nginx/Apache等Web服务软件,并配置好域名解析。 上传文件 通过…

uniapp发布到应用商店

uniapp发布到应用商店

发布到苹果App Store 确保开发者账号已注册并加入Apple Developer Program,年费99美元。在Xcode中生成iOS发布证书(.p12)和描述文件(Provisioning…

uniapp模板库

uniapp模板库

uniapp模板库推荐 官方模板库 uni-app官方提供多个模板,涵盖电商、社交、新闻等多个领域。这些模板可直接在HBuilderX中通过新建项目选择,包含基础结构和常用功能模块,适合快速启动项目。…

uniapp 壁纸

uniapp 壁纸

使用 Uniapp 开发壁纸应用的方法 实现壁纸展示与切换功能 在 Uniapp 中,可通过 swiper 组件实现壁纸轮播展示。结合 image 组件加载本地或网络壁纸资源,动态绑定 src 属性实…

uniapp 绘图

uniapp 绘图

uniapp 绘图方法 使用 Canvas 组件 uniapp 支持通过 canvas 组件实现绘图功能。在模板中声明 canvas 并设置宽度、高度和 ID,通过 JavaScript 调用绘图 A…

uniapp 摇杆

uniapp 摇杆

uniapp 实现虚拟摇杆的方法 在uniapp中实现虚拟摇杆功能,通常需要结合canvas绘制和触摸事件监听。以下是具体实现方案: 基础摇杆实现 创建canvas画布 在template中添加c…