172 lines
3.9 KiB
Vue
172 lines
3.9 KiB
Vue
![]() |
<template>
|
|||
|
<view>
|
|||
|
<nav-bar title="弹窗输入框"></nav-bar>
|
|||
|
<!-- 公共组件-每个页面必须引入 -->
|
|||
|
<public-module></public-module>
|
|||
|
<view class="table_box">
|
|||
|
<view class="table_head">
|
|||
|
<text>组件参数</text>
|
|||
|
<text>类型</text>
|
|||
|
<text>描述</text>
|
|||
|
</view>
|
|||
|
<view class="table_content">
|
|||
|
<text>v-model</text>
|
|||
|
<text>Boolean</text>
|
|||
|
<text>控制弹窗显示隐藏</text>
|
|||
|
</view>
|
|||
|
<view class="table_content">
|
|||
|
<text>hideOnBlur</text>
|
|||
|
<text>Boolean</text>
|
|||
|
<text>是否点击遮罩层关闭弹窗</text>
|
|||
|
</view>
|
|||
|
<view class="table_content">
|
|||
|
<text>type</text>
|
|||
|
<text>String</text>
|
|||
|
<text>1000(默认值)靠下,2000 居中</text>
|
|||
|
</view>
|
|||
|
<view class="table_content">
|
|||
|
<text>@confirm</text>
|
|||
|
<text>function</text>
|
|||
|
<text>窗口显示隐藏变化事件</text>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="input_form_box">
|
|||
|
<z-prompt :options="options" :value="value" @confirm="onPromptConfirm">
|
|||
|
<view class="input_box">
|
|||
|
<view class="name required">第一种打开弹窗</view>
|
|||
|
<view class="select_info">
|
|||
|
<text class="select">点击打开弹窗</text>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</z-prompt>
|
|||
|
<view class="input_box">
|
|||
|
<view class="name required">第二种打开弹窗</view>
|
|||
|
<view class="select_info" @click="onShowPrompt">
|
|||
|
<text class="select">点击打开弹窗</text>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<z-prompt ref="prompt" @confirm="onPromptConfirm2"></z-prompt>
|
|||
|
</view>
|
|||
|
</template>
|
|||
|
|
|||
|
<script>
|
|||
|
import zPrompt from '@/components/common/prompt';
|
|||
|
export default {
|
|||
|
components:{
|
|||
|
zPrompt
|
|||
|
},
|
|||
|
data() {
|
|||
|
return {
|
|||
|
popupShow: false,
|
|||
|
popupShow2: false,
|
|||
|
popupShow3: false,
|
|||
|
value: "默认值一",
|
|||
|
options: {
|
|||
|
title: '操作', // 标题
|
|||
|
tips: "请输入邮箱", // 提示
|
|||
|
confirmText: '确认', // 确认按钮文字
|
|||
|
placeholder: '邮箱', // 输入框提示文字
|
|||
|
password: false, // 是否是密码框
|
|||
|
inputType: 'text', // 输入框类型
|
|||
|
maxlength: 140, // 最大输入长度
|
|||
|
confirmType: "done" // 设置键盘右下角按钮的文字,仅在 type="text" 时生效
|
|||
|
},
|
|||
|
};
|
|||
|
},
|
|||
|
//第一次加载
|
|||
|
onLoad(e) {},
|
|||
|
//页面显示
|
|||
|
onShow() {},
|
|||
|
//方法
|
|||
|
methods: {
|
|||
|
onPageJump(url) {
|
|||
|
uni.navigateTo({
|
|||
|
url: url
|
|||
|
});
|
|||
|
},
|
|||
|
onShowPrompt(){
|
|||
|
this.$refs.prompt.onPopupShow("",{
|
|||
|
title: '操作', // 标题
|
|||
|
tips: "请输入手机号", // 提示
|
|||
|
confirmText: '确认', // 确认按钮文字
|
|||
|
placeholder: '手机号', // 输入框提示文字
|
|||
|
password: false, // 是否是密码框
|
|||
|
inputType: 'number', // 输入框类型
|
|||
|
maxlength: 11, // 最大输入长度
|
|||
|
confirmType: "done" // 设置键盘右下角按钮的文字,仅在 type="text" 时生效
|
|||
|
});
|
|||
|
},
|
|||
|
onPromptConfirm(e){
|
|||
|
console.log(e);
|
|||
|
if(!this.$base.mailRegular.test(e.value)){
|
|||
|
uni.showToast({
|
|||
|
title:"请输入正确的邮箱",
|
|||
|
icon:"none"
|
|||
|
});
|
|||
|
return;
|
|||
|
}
|
|||
|
e.value();
|
|||
|
},
|
|||
|
onPromptConfirm2(e){
|
|||
|
console.log(e);
|
|||
|
if(!this.$base.phoneRegular.test(e.value)){
|
|||
|
uni.showToast({
|
|||
|
title:"请输入正确的手机号",
|
|||
|
icon:"none"
|
|||
|
});
|
|||
|
return;
|
|||
|
}
|
|||
|
e.value();
|
|||
|
}
|
|||
|
},
|
|||
|
//页面隐藏
|
|||
|
onHide() {},
|
|||
|
//页面卸载
|
|||
|
onUnload() {},
|
|||
|
//页面下来刷新
|
|||
|
onPullDownRefresh() {},
|
|||
|
//页面上拉触底
|
|||
|
onReachBottom() {},
|
|||
|
//用户点击分享
|
|||
|
onShareAppMessage(e) {
|
|||
|
return this.wxShare();
|
|||
|
}
|
|||
|
};
|
|||
|
</script>
|
|||
|
<style lang="scss" scoped>
|
|||
|
@import '@/style/mixin.scss';
|
|||
|
.popup_box {
|
|||
|
width: 600rpx;
|
|||
|
}
|
|||
|
.popup_title {
|
|||
|
display: flex;
|
|||
|
justify-content: space-between;
|
|||
|
height: 88upx;
|
|||
|
line-height: 88upx;
|
|||
|
border-bottom: 2upx solid #ebebeb;
|
|||
|
padding: 0 20upx;
|
|||
|
background-color: #FFF;
|
|||
|
}
|
|||
|
.popup_title view {
|
|||
|
font-size: 32upx;
|
|||
|
}
|
|||
|
.popup_title text {
|
|||
|
width: 80upx;
|
|||
|
flex-shrink: 0;
|
|||
|
text-align: center;
|
|||
|
}
|
|||
|
.popup_title text {
|
|||
|
font-size: 28upx;
|
|||
|
color: #999;
|
|||
|
}
|
|||
|
.popup_title text:last-child {
|
|||
|
color: $themeColor;
|
|||
|
}
|
|||
|
.popup_content {
|
|||
|
padding: 80rpx 30rpx;
|
|||
|
background-color: #FFFFFF;
|
|||
|
text-align: center;
|
|||
|
}
|
|||
|
</style>
|