场景
用户进入界面弹出输入窗口,需要用户输入内容,如果取消则跳转到指定界面,重新进入还会弹出窗口,只有输入正确内容才能正式进入此界面
实现
wxml
<view class="container">
? <view wx:if="{{!completed}}">
? ? <view class='toast-box'>
? ? ? <view class='toastbg'></view>
? ? ? <view class='showToast'>
? ? ? ? <view class='toast-title'>
? ? ? ? ? <text>确认底金?</text>
? ? ? ? </view>
? ? ? ? <view class='toast-main'>
? ? ? ? ? <view class='toast-input'>
? ? ? ? ? ? <input type='number' placeholder='请输入符合您的保底金额~' focus="true" bindinput='getUserInput'></input>
? ? ? ? ? </view>
? ? ? ? </view>
? ? ? ? <view class='toast-button'>
? ? ? ? ? <view class='cancel'>
? ? ? ? ? ? <button bindtap="cancelSelected">取消</button>
? ? ? ? ? </view>
? ? ? ? ? <view class='success'>
? ? ? ? ? ? <button bindtap="successSelected">确定</button>
? ? ? ? ? </view>
? ? ? ? </view>
? ? ? </view>
? ? </view>
? </view>
</view>
wxss
.container {
? width: 100%;
? min-height: 100vh;
? background-color: #101419;
}
.toast-box {
? width: 100%;
? height: 100%;
? opacity: 1;
? position: fixed;
? top: 0px;
? left: 0px;
}
.toastbg {
? opacity: 0.2;
? background-color: black;
? position: absolute;
? width: 100%;
? min-height: 100vh;
}
.showToast {
? position: absolute;
? opacity: 1;
? width: 70%;
? margin-left: 15%;
? margin-top: 40%;
}
.toast-title {
? padding-left: 5%;
? background-color: #2196f3;
? color: white;
? padding-top: 2vh;
? padding-bottom: 2vh;
? border-top-right-radius: 16rpx;
? border-top-left-radius: 16rpx;
}
.toast-main {
? padding-top: 2vh;
? padding-bottom: 2vh;
? background-color: white;
? text-align: center;
}
.toast-input {
? margin-left: 5%;
? margin-right: 5%;
? border: 1px solid #ddd;
? padding-left: 2vh;
? padding-right: 2vh;
? padding-top: 1vh;
? padding-bottom: 1vh;
}
.toast-button {
? display: flex;
}
.cancel, .success {
? width: 50%;
}
.cancel button {
? color: #999;
? width: 100%;
? background-color: white;
? border-radius: 0px;
? border-bottom-left-radius: 16rpx;
}
.success button {
? color: #1d2228;
? width: 100%;
? background-color: white;
? border-radius: 0px;
? border-bottom-right-radius: 16rpx;
}
js
Page({
? /**
? ?* 页面的初始数据
? ?*/
? data: {
? ? completed: false, ?// 弹窗控制
? ? deposit: 0 ?// 存储用户输入的内容
? },
? // 获取用户输入的内容
? getUserInput(event) {
? ? const money = event.detail.value || event.detail.text
? ? this.setData({deposit: money})
? },
? // 取消按钮触发事件
? cancelSelected(event) {
? ? wx.switchTab({
? ? ? url: '/pages/optional/optional',
? ? })
? },
? // 确定按钮触发事件
? successSelected(event) {
? ? if (!(/(^[0-9]*$)/.test(this.data.deposit))) {
? ? ? wx.showToast({
? ? ? ? title: '只能输入纯数字',
? ? ? ? icon: 'none',
? ? ? ? duration: 2000
? ? ? })
? ? } else {
? ? ? this.setData({completed: true})
? ? }
? },
})
效果图
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did124339