php写一个餐饮的小程序,使用小程序写一个弹窗输入组件

本文详细介绍了如何在微信小程序中创建一个自定义的弹窗输入框组件,包括半透明遮盖层和弹窗窗口的实现。通过设置样式、事件处理和数据绑定,成功实现了弹窗的显示、隐藏以及输入值的获取和处理。这是一个小程序开发的基础实践,对于提升用户体验具有重要意义。
摘要由CSDN通过智能技术生成

写项目的时候发现小程序没有自带的弹窗输入的组件,只能自己写一个。

1.半透明的遮盖层

遮盖层的样式和显隐事件

wxml代码:

弹窗

wxss代码:.model{

position: absolute;

width: 100%;

height: 100%;

background: #000;

z-index: 999;

opacity: 0.5;

top: 0;

left:0;

}

js代码:/**

* 页面的初始数据

*/

data: {

showModal: false,

},

/**

* 控制遮盖层的显示

*/

eject:function(){

this.setData({

showModal:true

})

}

2.弹窗窗口实现

弹窗窗口的样式和显隐事件

wxml代码:

标题

返回

确定

wxss代码:.modalDlg{

width: 70%;

position: fixed;

top:350rpx;

left: 0;

right: 0;

z-index: 9999;

margin: 0 auto;

background-color: #fff;

border-radius: 10rpx;

display: flex;

flex-direction: column;

align-items: center;

}

.windowRow{

display: flex;

flex-direction: row;

justify-content: space-between;

height: 110rpx;

width: 100%;

}

.back{

text-align: center;

color: #f7a6a2;

font-size: 30rpx;

margin: 30rpx;

}

.userTitle{

font-size: 30rpx;

color: #666;

margin: 30rpx;

}

.wishName{

width: 100%;

justify-content: center;

flex-direction: row;

display: flex;

margin-bottom: 30rpx;

}

.wish_put{

width: 80%;

border: 1px solid;

border-radius: 10rpx;

padding-left: 10rpx;

}

.wishbnt{

width: 100%;

font-size: 30rpx;

margin-bottom: 30rpx;

}

.wishbnt_bt{

width: 50%;

background-color: #f7a6a2;

color: #fbf1e8;

font-size: 30rpx;

border: 0;

}

js代码:/**

* 页面的初始数据

*/

data: {

showModal: false,

textV:''

},

/**

* 控制显示

*/

eject:function(){

this.setData({

showModal:true

})

},

/**

* 点击返回按钮隐藏

*/

back:function(){

this.setData({

showModal:false

})

},

/**

* 获取input输入值

*/

wish_put:function(e){

this.setData({

textV:e.detail.value

})

},

/**

* 点击确定按钮获取input值并且关闭弹窗

*/

ok:function(){

console.log(this.data.textV)

this.setData({

showModal:false

})

}

3.完整代码

最后献上完整代码,有点啰嗦了,想尽量详细点

wxml代码:

弹窗

标题

返回

确定

wxss代码:.body{

width: 100%;

height: 100%;

background-color: #fff;

position: fixed;

display: flex;

}

.body button{

height: 100rpx;

}

.model{

position: absolute;

width: 100%;

height: 100%;

background: #000;

z-index: 999;

opacity: 0.5;

top: 0;

left:0;

}

.modalDlg{

width: 70%;

position: fixed;

top:350rpx;

left: 0;

right: 0;

z-index: 9999;

margin: 0 auto;

background-color: #fff;

border-radius: 10rpx;

display: flex;

flex-direction: column;

align-items: center;

}

.windowRow{

display: flex;

flex-direction: row;

justify-content: space-between;

height: 110rpx;

width: 100%;

}

.back{

text-align: center;

color: #f7a6a2;

font-size: 30rpx;

margin: 30rpx;

}

.userTitle{

font-size: 30rpx;

color: #666;

margin: 30rpx;

}

.wishName{

width: 100%;

justify-content: center;

flex-direction: row;

display: flex;

margin-bottom: 30rpx;

}

.wish_put{

width: 80%;

border: 1px solid;

border-radius: 10rpx;

padding-left: 10rpx;

}

.wishbnt{

width: 100%;

font-size: 30rpx;

margin-bottom: 30rpx;

}

.wishbnt_bt{

width: 50%;

background-color: #f7a6a2;

color: #fbf1e8;

font-size: 30rpx;

border: 0;

}

js代码:Page({

/**

* 页面的初始数据

*/

data: {

showModal: false,

textV:''

},

/**

* 控制显示

*/

eject:function(){

this.setData({

showModal:true

})

},

/**

* 点击返回按钮隐藏

*/

back:function(){

this.setData({

showModal:false

})

},

/**

* 获取input输入值

*/

wish_put:function(e){

this.setData({

textV:e.detail.value

})

},

/**

* 点击确定按钮获取input值并且关闭弹窗

*/

ok:function(){

console.log(this.data.textV)

this.setData({

showModal:false

})

}

})

推荐教程:《微信小程序》

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值