|
@@ -0,0 +1,81 @@
|
|
|
+<template>
|
|
|
+ <uni-popup ref="genderPopup" :animation="false" :is-mask-click="false"
|
|
|
+ mask-background-color="rgba(0, 0, 0, 0.4)">
|
|
|
+ <view class="phone-common-dialog">
|
|
|
+ <view class="common-body-box">
|
|
|
+ <view class="common-title">修改性别</view>
|
|
|
+ <view class="common-input-box">
|
|
|
+ <view class="common-input-row">
|
|
|
+ <text class="common-input-label"><text class="common-label-require">*</text>性别:</text>
|
|
|
+ <uni-data-select
|
|
|
+ class="common-select"
|
|
|
+ v-model="data.gender"
|
|
|
+ :localdata="data.range"
|
|
|
+ @change="change"
|
|
|
+ ></uni-data-select>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="common-btn-box">
|
|
|
+ <view class="not-confirm-btn" @click="handleClose">{{notBtn}}</view>
|
|
|
+ <view class="confirm-btn" @click="confirmBtn">{{okBtn}}</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </uni-popup>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup>
|
|
|
+ import {ref,reactive} from "vue"
|
|
|
+ const props = defineProps({
|
|
|
+ notBtn: {
|
|
|
+ type: String,
|
|
|
+ require: true,
|
|
|
+ default: '取消'
|
|
|
+ },
|
|
|
+ okBtn: {
|
|
|
+ type: String,
|
|
|
+ require: true,
|
|
|
+ default: '确认'
|
|
|
+ },
|
|
|
+ });
|
|
|
+ const data = reactive({
|
|
|
+ gender: '',
|
|
|
+ range:[
|
|
|
+ { value: 0, text: "未知" },
|
|
|
+ { value: 1, text: "男" },
|
|
|
+ { value: 2, text: "女" },
|
|
|
+ ]
|
|
|
+ })
|
|
|
+ const genderPopup = ref(null); // 索引
|
|
|
+ const $emit = defineEmits(['confirm-btn'])
|
|
|
+
|
|
|
+ function change(data){
|
|
|
+ console.log('changedata',data);
|
|
|
+ }
|
|
|
+
|
|
|
+ function passClear(){
|
|
|
+ data.gender = '';
|
|
|
+ }
|
|
|
+ // 打开弹窗
|
|
|
+ function handleShow() {
|
|
|
+ genderPopup.value.open();
|
|
|
+ }
|
|
|
+ // 取消
|
|
|
+ function handleClose() {
|
|
|
+ passClear();
|
|
|
+ genderPopup.value.close();
|
|
|
+ }
|
|
|
+ // 确认
|
|
|
+ function confirmBtn(){
|
|
|
+ $emit('confirm-btn',data.gender);
|
|
|
+ passClear();
|
|
|
+ genderPopup.value.close();
|
|
|
+ }
|
|
|
+ defineExpose({
|
|
|
+ handleShow,
|
|
|
+ handleClose
|
|
|
+ })
|
|
|
+</script>
|
|
|
+
|
|
|
+<style>
|
|
|
+</style>
|