场景
用户进入界面弹出输入窗口,需要用户输入内容,如果取消则跳转到指定界面,重新进入还会弹出窗口,只有输入正确内容才能正式进入此界面
实现
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