uni-app:实现点击按钮出现底部弹窗(uni.showActionSheet+自定义)

一、通过uni.showActionSheet实现底部选择

效果

代码

html 复制代码
<template>
  <view>
    <button @click="showActionsheet">点击打开弹窗</button>
  </view>
</template>

<script>
export default {
  methods: {
    showActionsheet() {
      uni.showActionSheet({
        itemList: ['选项1', '选项2', '选项3'],
        success: (res) => {
          console.log('选择了第' + (res.tapIndex + 1) + '个选项');
        },
        fail: (err) => {
          console.log('弹窗取消');
        }
      });
    }
  }
};
</script>

二、自定义底部弹出窗

效果

代码

html 复制代码
<template>
	<view>
		<button @click="togglePopup">点击打开弹窗</button>
		<view v-if="showPopup" class="popup">
			<view class="content">
				<view class="line1">
					<view>料号编辑</view>
				</view>
				<view class="line2">
					<view>料号:</view>
					<view>料号名称:</view>
					<view>规格型号:</view>
					<view>单位:</view>
				</view>
			</view>
			<view class="btn-group">
				<view class="btn_position">
					<view class="cancel" @click="cancel">取消</view>
					<view class="submit" @click="submit">提交</view>
				</view>
			</view>
		</view>
		<view v-if="showPopup" class="mask" @click="togglePopup"></view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				showPopup: false,
			};
		},
		methods: {
			togglePopup() {
				this.showPopup = !this.showPopup;
			},
			submit() {
				this.showPopup = false;
			},
			cancel() {
				this.showPopup = false;
			}
		}
	};
</script>

<style lang="scss">
	// 弹窗效果
	.popup {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		background-color: #fff;
		// padding: 20rpx;
		box-sizing: border-box;
		z-index: 999;
	}

	// 遮罩层
	.mask {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.5);
		z-index: 888;
	}

	// 弹窗内容
	.content {
		.line1 {
			background-color:#6ea8e7;
			text-align: center;
			padding: 20rpx;
		}

		.line2 {
			padding: 20rpx;
			// border-bottom: 1px solid black;

			view {
				margin-bottom: 10rpx;
			}
		}
	}

	// 按钮样式
	.btn-group {
		box-shadow: 0px -2px 6px rgba(0, 0, 0, 0.5); /* 示例阴影参数,根据需要进行调整 */
		.btn_position {
			display: flex;
			width: 100%;
			.cancel {
				width: 50%;
				text-align: center;
				padding: 20rpx 0;
				color: #519fe7;
			}

			.submit {
				width: 50%;
				background-color: #519fe7;
				text-align: center;
				padding: 20rpx 0;
				color: #fff;
			}
		}

	}
</style>
相关推荐
郑州光合科技余经理2 天前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
遗憾随她而去.3 天前
uniApp跨端开发: 解决不同平台显示差异问题
uni-app
程序鉴定师6 天前
2026年深圳小程序/App开发公司技术选型指南:从架构设计到交付标准全维度评估
java·小程序·uni-app·php·objective-c
Q26433650236 天前
【有源码】基于uni-app的旅游行程规划小程序-基于微信小程序的智慧文旅综合服务平台
java·微信小程序·小程序·uni-app·毕业设计·springboot·源代码
qq_316837757 天前
阿里云百炼 fun-asr-realtime uniapp vue3 调用
javascript·vue.js·uni-app
特创数字科技7 天前
uniapp 图片全能处理|全平台支持(鸿蒙、安卓、苹果、web),实现九宫格、水印、滤镜、压缩、拼图
uni-app
2501_916007477 天前
苹果应用商店App Store上架费用标准及原因解析
android·ios·小程序·https·uni-app·iphone·webview
00后程序员张8 天前
苹果App Store上架指南:费用、原理与步骤详解
android·ios·小程序·https·uni-app·iphone·webview
特创数字科技8 天前
【uni-app x】告别系统相机限制!三端通用自定义相机组件:任意布局、静默拍照、录像、水印叠加、连拍回图一次搞定
前端·数码相机·uni-app
Martin -Tang8 天前
uniapp app嵌套webview 弹窗方式
android·ios·uni-app