uni-app 底部tab中间的发布按钮点击不跳转页面 弹出一个模态框

发布于 1周前 作者 gougou168 来自 Uni-App

uni-app 底部tab中间的发布按钮点击不跳转页面 弹出一个模态框

6 回复

哈哈,刚好写过一个案例,微信小程序搜索:‘Outland Life’,看看是不是那样的效果


对对对 我的宝贝,求分享

回复 琦琦宝贝: 我抽空写进插件吧

回复 羊仔: 非常感谢,感谢感谢! 现在想用,方便的话帮忙发一下主要实现代码行嘛 406242283@qq.com 回头插件一定赞赏

回复 琦琦宝贝: 思路很简单,就是自定义tabbar,然后重新写一下tabbar就行了

在uni-app中,实现点击底部Tab中间的“发布”按钮不跳转页面而是弹出一个模态框,可以通过自定义底部Tab组件和模态框组件来实现。以下是一个简单的代码示例,展示了如何实现这一功能。

1. 自定义底部Tab组件

首先,自定义一个底部Tab组件,并在其中处理“发布”按钮的点击事件。

<!-- custom-tab-bar/index.vue -->
<template>
  <view class="tab-bar">
    <!-- 其他Tab项 -->
    <view class="tab-item">首页</view>
    <!-- 发布按钮 -->
    <view class="tab-item publish-btn" @click="showModal">发布</view>
    <view class="tab-item">我的</view>
  </view>
</template>

<script>
export default {
  methods: {
    showModal() {
      uni.showModal({
        title: '提示',
        content: '您点击了发布按钮',
        success: function (res) {
          if (res.confirm) {
            console.log('用户点击确定');
            // 这里可以添加发布逻辑
          } else if (res.cancel) {
            console.log('用户点击取消');
          }
        }
      });
    }
  }
}
</script>

<style scoped>
.tab-bar {
  display: flex;
  justify-content: space-around;
  background-color: #fff;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  border-top: 1px solid #eee;
}
.tab-item {
  flex: 1;
  text-align: center;
  padding: 10px 0;
}
.publish-btn {
  background-color: #ff6347;
  color: #fff;
}
</style>

2. 在pages.json中配置自定义TabBar

pages.json中配置使用自定义的TabBar组件。

{
  "tabBar": {
    "custom": true,
    "color": "#7A7E83",
    "selectedColor": "#3cc51f",
    "borderStyle": "black",
    "backgroundColor": "#ffffff",
    "list": [
      {
        "pagePath": "pages/index/index",
        "text": "首页"
      },
      {
        "pagePath": "", // 发布按钮不对应具体页面
        "text": "发布"
      },
      {
        "pagePath": "pages/mine/mine",
        "text": "我的"
      }
    ]
  }
}

3. 确保页面引用自定义TabBar组件

App.vue或其他适当位置确保引入了自定义的TabBar组件。

<template>
  <view>
    <!-- 页面内容 -->
    <custom-tab-bar></custom-tab-bar>
  </view>
</template>

<script>
import CustomTabBar from '@/components/custom-tab-bar/index.vue';

export default {
  components: {
    CustomTabBar
  }
}
</script>

通过上述步骤,你就可以在uni-app中实现点击底部Tab中间的“发布”按钮不跳转页面而是弹出一个模态框的功能。

回到顶部