微信小程序弹框实现

小程序弹框实现

1、页面结构

  <!-- 遮罩层 -->
  <view>
    <view class="mask" bindtap="close" wx:if="{{ showModal }}"></view>
    <view class="modal" wx:if="{{ showModal }}">
      <view class="dialog">
        <view class="dialog-head">
          <h3>发送短信</h3>
        </view>
      </view>
      <view class="section section_gap">
          <radio-group class="radio-group" bindchange="radioChange">
              <radio class="radio" wx:for-items="{{items}}" wx:key="name" value="{{item.name}}" checked="{{item.checked}}">
                <text>{{item.value}}</text>
              </radio>
          </radio-group>
      </view>
      <view>
        <textarea class="textarea w100" placeholder="短信内容" maxlength="-1" v-model="params.bz"></textarea>
      </view>
      <view class="btnFlex">
        <view>
          <button class="btn" bindtap="close">取消</button>
        </view>
        <view>
          <button class="btn" bindtap="go">发送</button>
        </view>
      </view>
    </view>
  </view>

2、页面样式 


.btn{
  color: #fff;
  font-size: 31rpx;
  background-color: #f95137;
  margin: 11rpx 20rpx 0rpx;
  border-radius: 45rpx;
  width: 215rpx;
  height: 81rpx;
  line-height: 81rpx;
  /* padding-left: ;   */
  }
.btnFlex{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 50rpx;
}
.dialog-head{
  font-size: 33rpx;
  color: #172238;
  font-weight: bold;
  display: flex;
  align-items: center;
  padding: 20rpx;  
  border-bottom: 1rpx solid #e1e5e9;
}

/* 文本域 */
.textarea {
  width: 92%;
  height: 246rpx;
  margin: 20rpx 30rpx;
  margin-top: 20rpx;
  padding: 20rpx;
  border-radius: 6rpx;
  border: solid 1rpx #e7eaf0;
  background-color: #f4f6f9;
}
.radio {
  width: 33%
}
.section_gap {
  margin: 20rpx 30rpx;
}

3、js 

 Page({

  /**
   * 页面的初始数据
   */
  data: {
    showModal: false,
    items: [
      { name: 'USA', value: '刘禅' },
      { name: 'CHN', value: '刘备', checked: 'true' },
      { name: 'BRA', value: '诸葛亮' },
      { name: 'JPN', value: '关羽' },
      { name: 'ENG', value: '赵云' },
      { name: 'FRA', value: '张子龙' },
    ]
  },
//给自定义button或者自定义view添加一个点击事件跳转,这里的html就不给出来了
  signinTap: function(e) {
    this.setData({
      showModal: true,
    })
  //具体调用接口省略***
  },
 // 发送
  go() {
    this.setData({
      showModal: false
    })
  //具体调用接口省略***
  },
  //取消
  close() {
    this.setData({
      showModal: false
    })
    // this.showModal = false;
   },

 实战项目图片

项目实战小积累,虽然网上千篇一律,但是还是做一下记录,也希望能帮到有需要的你们。大神勿喷,也希望能和更多小伙伴讨论。

 

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值