沃梦达 / IT编程 / 前端开发 / 正文

微信小程序实现底部弹出框

微信小程序实现底部弹出框的方法有多种,其中较为简便的一种是利用wepy-ui组件库中的popup组件来实现。wepy-ui是一套专为wepy框架打造的组件库,若使用其他框架或原生小程序不适用。以下是具体步骤:

微信小程序实现底部弹出框的方法有多种,其中较为简便的一种是利用wepy-ui组件库中的popup组件来实现。wepy-ui是一套专为wepy框架打造的组件库,若使用其他框架或原生小程序不适用。以下是具体步骤:

1. 安装wepy-ui

使用wepy-ui组件库之前必须要先安装,可以通过npm命令安装:

npm i wepy-ui -S

2. 引入popup组件

在需要使用底部弹出框的wepy页面中,引入popup组件。例如在pages/index.wpy中:

<template>
  <wepy-page>
    <!-- 其他组件代码省略 -->
    <popup visible="{{popupVisible}}" position="bottom">
      <view>这里是底部弹出框的内容</view>
    </popup>
  </wepy-page>
</template>

<script>
  import wepy from 'wepy';
  import 'wepy-ui/dist/style/weui.css';  // 引入wepy-ui样式
  import { Popup } from 'wepy-ui';

  export default class Index extends wepy.page {
    components = {
      popup: Popup
    };

    data = {
      popupVisible: false
    };

    // 显示底部弹出框
    showPopup() {
      this.popupVisible = true;
    }

    // 隐藏底部弹出框
    hidePopup() {
      this.popupVisible = false;
    }
  }
</script>

其中,visible属性表示弹出框是否显示,position属性表示弹出框的位置,此处为"bottom",即底部。

3. 显示和隐藏底部弹出框

需要在wepy页面的js代码中编写函数来控制底部弹出框的显示和隐藏,如上述代码中的showPopup()和hidePopup()函数。

示例演示

以下是一个使用wepy-ui组件库的底部弹出框示例,包含一个按钮,点击后将显示底部弹出框;底部弹出框中包含两个操作按钮,分别可以隐藏底部弹出框或执行其他操作。代码如下:

<template>
  <wepy-page>
    <view class="container">
      <view class="btn" @click="showPopup">点击弹出框</view>
    </view>
    <popup visible="{{popupVisible}}" position="bottom">
      <view class="popup-content">
        <view class="popup-btn" @click="hidePopup">取消</view>
        <view class="popup-btn">其他操作</view>
      </view>
    </popup>
  </wepy-page>
</template>

<script>
  import wepy from 'wepy';
  import 'wepy-ui/dist/style/weui.css';  // 引入wepy-ui样式
  import { Popup } from 'wepy-ui';

  export default class Index extends wepy.page {
    components = {
      popup: Popup
    };

    data = {
      popupVisible: false
    };

    // 显示底部弹出框
    showPopup() {
      this.popupVisible = true;
    }

    // 隐藏底部弹出框
    hidePopup() {
      this.popupVisible = false;
    }
  }
</script>

<style>
  .container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100vh;
  }
  .btn {
    background-color: #4caf50;
    color: #fff;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
  }
  .popup-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 180rpx;
    background-color: #fff;
  }
  .popup-btn {
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
  }
</style>

另外,如果不想使用wepy-ui组件库,也可以自行编写底部弹出框的样式和组件,实现方式并无太大差别,只是需要进行更多的手动开发工作。

本文标题为:微信小程序实现底部弹出框