uniapp中间加号点击弹窗怎么实现?完整教程

简介: uniapp中间加号点击弹窗怎么实现?完整教程

在现代移动应用开发中,uniapp因其跨平台特性而备受开发者青睐。uniapp允许开发者使用Vue.js开发应用,并且可以编译到iOS、Android、H5以及各种小程序等多个平台。本文将详细介绍如何在uniapp中实现一个常见的交互模式:中间加号点击弹窗功能。这个功能通常用于在APP的主界面上添加一个快捷操作入口,用户点击加号后弹出一个包含多个操作选项的弹窗。

一、准备工作

在开始之前,请确保你已经安装了HBuilderX编辑器,这是开发uniapp的官方推荐IDE。同时,你也需要对Vue.js和uniapp的基础知识有一定的了解,包括组件、事件处理、条件渲染等。

二、创建项目

  1. 打开HBuilderX,点击“文件”->“新建”->“项目”。
  2. 选择“uni-app项目”,填写项目名称、项目路径等信息,然后点击“创建”。

三、设计界面

  1. pages/index/index.vue文件中,我们需要设计一个包含中间加号的界面。可以使用Flex布局来居中显示加号图标。
<template>
  <view class="container">
    <view class="plus-icon" @click="showPopup">
      <text class="icon">+</text>
    </view>
  </view>
</template>

<style>
.container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

.plus-icon {
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: #eee;
  font-size: 30px;
  color: #333;
}
</style>

四、实现弹窗功能

uniapp提供了uni.showModal方法来显示弹窗,但这个方法主要用于显示简单的确认对话框。为了实现更复杂的弹窗效果,我们可以使用uniapp的组件popup

1. 在template中添加popup组件

<popup v-model="showPopupModal" position="bottom">
  <view class="popup-content">
    <!-- 弹窗内容 -->
    <view class="option" @click="handleOptionClick('Option 1')">Option 1</view>
    <view class="option" @click="handleOptionClick('Option 2')">Option 2</view>
    <!-- 更多选项 -->
  </view>
</popup>

2. 在script中定义相关的数据和方法

<script>
export default {
  data() {
    return {
      showPopupModal: false, // 控制弹窗的显示与隐藏
    };
  },
  methods: {
    showPopup() {
      this.showPopupModal = true; // 显示弹窗
    },
    handleOptionClick(option) {
      console.log('User selected:', option);
      this.showPopupModal = false; // 隐藏弹窗
      // 根据用户选择执行相应的操作
    },
  },
};
</script>

3. 为弹窗添加样式

<style>
.popup-content {
  background-color: #fff;
  padding: 10px;
  border-radius: 10px 10px 0 0;
}

.option {
  padding: 10px;
  border-bottom: 1px solid #eee;
}

.option:last-child {
  border-bottom: none;
}
</style>

五、真实案例

  1. 在HBuilderX中点击运行按钮,选择你想要运行的平台(比如微信开发者工具、Android模拟器等)。
  2. 在弹出的界面中测试加号点击弹窗功能是否按预期工作。

首先,官方有一个蛋疼的例子,那个例子是中间带加号的例子,想必大家可能也看了,咋说呢?那个例子好在点击中间按钮可以改变按钮的配图,但是页面确要跳转一次,这就很难受了!

1.先去把midButton配置一下。

2.创建subNVues页面

在配置subNVues要注意,下面看我这个注释啊,要注意的地方就是关闭这里。

"app-plus": {
  "subNVues": [{
    "id": "fabuneirong", // 唯一标识  
    "path": "paltform/app-plus/subNVue/fabuneirong", // 页面路径  
    "type": "popup", //这里不需要
    "style": {
      "position": "popup",
      "width": "100%",
      "height": "430rpx",
      "bottom": "70rpx",
      "background":"transparent"//默认是点击遮罩层才关闭弹窗,改成transparent变成了不管点哪都关闭这个subNvuew
    }
  }]
}

3. 监听midButton的点击事件

这个方法是个蛋疼的方法,一会说,在app.vue里面监听一下

    onLaunch() {
      uni.onTabBarMidButtonTap(function(e){
        console.log(e);
        // 通过 id 获取 nvue 子窗体  
        const subNVue = uni.getSubNVueById('fabuneirong')  
        // // 打开 nvue 子窗体  
        subNVue.show('slide-in-bottom', 300, function(){  
            // 打开后进行一些操作...  
            //   
        });  
      })
    }

这个方法里面竟然没把这个按钮对象给传过来,导致不知道怎么去改变这个加号按钮的样式!这是个很大的问题

这个问题我反应社区了,但是没啥效果啊

4. 完善subNVues这个页面。

5. 这里面要注意个问题就是nvue样式的写法也是个蛋疼的东西。

另外750rpx就是整个屏幕宽度啊,官方就是按照750换算的。

六、优化与扩展

  1. 你可以根据需要自定义弹窗的样式,包括背景色、文字颜色、边框等。
  2. 弹窗中的选项可以根据实际业务需求进行扩展,比如添加图标、描述文字等。
  3. 如果弹窗中的选项较多,可以考虑使用滚动视图来展示。

七、收获

通过本文的介绍,你应该已经掌握了在uniapp中实现中间加号点击弹窗功能的方法。这个功能在很多APP中都非常常见,掌握它的实现方法对于提升用户体验和增加APP的实用性都非常重要。希望本文能对你有所帮助!如果你有任何疑问或建议,欢迎在评论区留言。

相关文章
|
编解码 数据安全/隐私保护 开发者
uniapp打包的ipa上架到appstore的傻瓜式教程
uniapp打包的ipa上架到appstore的傻瓜式教程
125 0
|
开发者 iOS开发
UniApp打包教程:使用HBuilder X和AppUploader完成原生App云打包和上架指南“
UniApp打包教程:使用HBuilder X和AppUploader完成原生App云打包和上架指南“
366 3
|
3月前
|
开发者
Uniapp开发鸿蒙应用教程之自定义导航栏
本文介绍了在Uniapp跨平台开发鸿蒙应用时,如何实现自定义导航栏。通过修改pages.json文件可调整默认导航栏样式,但若需添加组件(如搜索框、按钮等),则需手动创建自定义导航栏组件,以适配鸿蒙系统。文中给出了详细的配置代码与实现步骤,帮助开发者灵活控制界面布局。#鸿蒙 #Uniapp #跨平台开发
|
3月前
|
容器
Uniapp开发鸿蒙购物应用教程之商品列表
本教程分享如何使用UniApp开发鸿蒙应用首页商品列表,通过网格布局实现商品分类与商品展示,详解布局方式与代码实现。
|
3月前
|
前端开发 开发者 容器
Uniapp开发鸿蒙购物项目教程之样式选择器
本篇教程介绍了uniapp开发鸿蒙应用中的样式选择器,包括类选择器、ID选择器、属性选择器、内联选择器和后代选择器,并讲解了它们的基本用法与优先级规则。通过简单示例帮助开发者理解如何为组件设置样式,同时提醒合理使用!important以避免样式管理混乱。适合初学者掌握鸿蒙跨平台开发中的基础样式控制方法。
|
8月前
|
人工智能 移动开发 JavaScript
如何用uniapp打包桌面客户端exe包,vue或者uni项目如何打包桌面客户端之electron开发-优雅草央千澈以开源蜻蜓AI工具为例子演示完整教程-开源代码附上
如何用uniapp打包桌面客户端exe包,vue或者uni项目如何打包桌面客户端之electron开发-优雅草央千澈以开源蜻蜓AI工具为例子演示完整教程-开源代码附上
778 18
|
3月前
|
JavaScript API 开发者
Uniapp开发鸿蒙应用教程之选项式api和组合式api
本文介绍了在Uniapp开发鸿蒙应用时,如何通过选项式API和组合式API进行数据操作。以修改年龄值为例,对比展示了两种API的代码结构与区别,并重点演示了组合式API中更简洁、灵活的写法,帮助开发者理解并掌握现代Vue开发模式。#鸿蒙三方框架 #Uniapp
|
8月前
|
前端开发 小程序 Java
uniapp-网络数据请求全教程
这篇文档介绍了如何在uni-app项目中使用第三方包发起网络请求
536 3
|
11月前
|
数据可视化 小程序 JavaScript
UniApp可视化开发教程 | 学习如何低代码构建跨平台应用
UniApp可视化开发教程 | 学习如何低代码构建跨平台应用
559 0

热门文章

最新文章