uniapp选择地址弹窗组件

1.效果
在这里插入图片描述
2.子组件在components里面创建组件AddreessWindow

<template><view style="position: relative;z-index: 999999 !important;"><view class="address-window" :class="value === true ? 'on' : ''"><view class="title"><view>选择地址</view><view style="position: absolute;right: 20rpx;top: 39rpx;"><u-icon name="close" color="#666" size="20" @click="closeAddress"></u-icon></view></view><view class="list" v-if="addressList.length"><view class="item acea-row row-between-wrapper" :class="item.id === checked ? 'font-color-green' : ''"v-for="(item, addressIndex) in addressList" @click="tapAddress(addressIndex)" :key="addressIndex"><u-icon name="map" :color="item.id === checked?'#99CC00':'#000'" size="20"></u-icon><!-- <text class="iconfont icon-ditu" :class="item.id === checked ? 'font-color-green' : ''"></text> --><view class="addressTxt"><view class="name" :class="item.id === checked ? 'font-color-green' : ''">{{ item.realName }}<text class="phone">{{ item.phone }}</text></view><view class="line1"> {{ item.province }}{{ item.city }}{{ item.district }}{{ item.detail }}</view></view><!-- <text class="iconfont icon-complete" :class="item.id === checked ? 'font-color-green' : ''"></text> --><u-icon name="checkmark" v-if="item.id === checked" color="#99CC00" size="20"></u-icon></view></view><view class="pictrue" v-if="addressList.length < 1"><!-- <image :src="`${$VUE_APP_RESOURCES_URL}/images/noAddress.png`" class="image" /> --><u-empty textSize='36rpx' text="空空如也" textColor='#A8D61E' width='512' height='251' mode="list":icon="`${imgUrl}empty.png`"></u-empty></view><view class="addressBnt bg-color-red"style="background-color:#99CC00 !important;color: #FFFFFF !important; font-size: 31rpx !important;"@click="goAddressPages">新加地址</view></view><view class="mask" @touchmove.prevent :hidden="value === false" @click="closeAddress"></view></view>
</template>
<script>// import { getAddressList } from '@/api/dsIndexApi.js'export default {name: 'AddressWindow',props: {value: Boolean,checked: Number,timer: Number},data: function() {return {imgUrl: '',addressList: [],current: 0,cartId: 0,pinkId: 0,couponId: 0,}},mounted: function() {this.imgUrl = this.$VUE_APP_IMG_URL;},created() {// console.},methods: {getAddressList: function() {let that = this;that.addressList = [{id: 1,realName: '哈哈嗝',phone: '14708291001',province: "四川省",city: "成都市",district: "武侯区",detail: "阳光大道",},{id: 2,realName: '张三',phone: '14708291000',province: "四川省",city: "成都市",district: "武侯区",detail: "大悦城",}]//   getAddressList().then(res => {// // console.log('获取地址额列表',res)//     that.addressList = res.data;//   })},closeAddress() {this.$emit('input', false)},goAddressPages: function() {uni.navigateTo({url: '/pages/address/address'})this.$emit('redirect')},tapAddress: function(index) {this.$emit('checked', this.addressList[index])this.$emit('input', false)},},watch: {timer(e, v) {console.log(e, v, '变换了')this.getAddressList()},},}
</script>
<style lang="scss">.font-color-green {color: #99CC00 !important;}.mask {display: flex;align-items: flex-end;position: fixed;left: 0;top: 0px;bottom: 0;width: 100%;background: rgba(0, 0, 0, 0.6);z-index: 9995;transition: .3s;}/*地址弹窗*/.address-window {background-color: #fff;position: fixed;bottom: 0;left: 0;width: 100%;z-index: 10000;transform: translate3d(0, 100%, 0);transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);}.address-window.on {transform: translate3d(0, 0, 0);}.address-window .title {font-size: 0.32 * 100rpx;font-weight: bold;text-align: center;height: 1.23 * 100rpx;line-height: 1.23 * 100rpx;position: relative;color: #333;display: flex;align-items: center;justify-content: center;}.address-window .title .iconfont {position: absolute;right: 0.3 * 100rpx;color: #8a8a8a;font-size: 0.35 * 100rpx;}.address-window .list {max-height: 6 * 100rpx;overflow-y: auto;overflow-x: hidden;}.address-window .list .item {margin-left: 0.3 * 100rpx;padding-right: 0.3 * 100rpx;border-bottom: 1px solid #eee;height: 1.29 * 100rpx;font-size: 0.25 * 100rpx;color: #333;display: flex;align-items: center;}.address-window .list .item .iconfont {font-size: 0.37 * 100rpx;color: #2c2c2c;}.address-window .list .item .iconfont.icon-complete {font-size: 0.3 * 100rpx;color: #fff;}.address-window .list .item .addressTxt {width: 5.6 * 100rpx;}.address-window .list .item .addressTxt .name {font-size: 0.28 * 100rpx;font-weight: bold;color: #282828;margin-bottom: 0.04 * 100rpx;}.address-window .list .item .addressTxt .name .phone {margin-left: 0.18 * 100rpx;}.address-window .addressBnt {font-size: 0.3 * 100rpx;font-weight: bold;color: #fff;width: 6.9 * 100rpx;height: 0.86 * 100rpx;border-radius: 0.43 * 100rpx;text-align: center;line-height: 0.86 * 100rpx;margin: 0.85 * 100rpx auto;}.address-window .pictrue {width: 4.14 * 100rpx;height: 3.36 * 100rpx;margin: 0.8 * 100rpx auto;}.address-window .pictrue .image {width: 100%;height: 100%;}
</style>

3.父组件

<template><view class="container"><view @click="skipAddress">选择地址</view><!-- 地址弹框 --><AddressWindow :timer="timer" @checked="changeAddress" @redirect="addressRedirect" v-model="showAddress":checked="addressInfo.id" ref="mychild"></AddressWindow></view></template><script>export default {data() {return {addressInfo: {},addressLoaded: false,timer: '',showAddress: false,}},methods:{//选地址skipAddress() {this.timer = new Date().getTime();this.showAddress = true;if (!this.addressLoaded) {this.addressLoaded = truethis.$refs.mychild.getAddressList()}},// 控制地址弹框addressRedirect() {// this.addressLoaded = falsethis.showAddress = false;},// 地址选择changeAddress(addressInfo) {this.addressInfo = addressInfo// this.addressInfo.id = addressInfo.id;console.log('地址栏11111', this.addressInfo)//计算订单金额// this.orderComputedAPi(this.addressInfo.id)},}}</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/137815.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode每日一题合集】2023.9.11-2023.9.17(⭐反悔贪心拓扑排序Floyd)

文章目录 630. 课程表 III解法——反悔贪心⭐⭐⭐⭐⭐ 1462. 课程表 IV⭐解法1——拓扑排序预处理解法2——Floyd算法判断是否存在路径 2596. 检查骑士巡视方案&#xff08;方向模拟&#xff09;1222. 可以攻击国王的皇后&#xff08;方向模拟&#xff09;LCP 50. 宝石补给&…

Leetcode 106. 从中序与后序遍历序列构造二叉树

文章目录 题目代码&#xff08;9.18 首刷自解&#xff09; 题目 Leetcode 106. 从中序与后序遍历序列构造二叉树 代码&#xff08;9.18 首刷自解&#xff09; class Solution { public:unordered_map<int, int> val2Index;TreeNode* buildTree(vector<int>& …

C++运算符优先级一览表

VC常用功能开发汇总&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xff0c;持续更新...&#xff09;https://blog.csdn.net/chenlycly/article/details/124272585C软件异常排查从入门到精通系列教程&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xff0c;持续更新...&a…

开发需知的文件加密与解密

背景 最近团队遇到一个小需求&#xff0c;存在两个系统 A、B&#xff0c;系统 A 支持用户在线制作皮肤包&#xff0c;制作后的皮肤包用户可以下载后&#xff0c;导入到另外的系统 B 上。皮肤包本身的其实就是一个 zip 压缩包&#xff0c;系统 B 接收到压缩包后&#xff0c;解压…

dvwa靶场通关(十二)

第十二关&#xff1a;Stored Cross Site Scripting (XSS)&#xff08;存储型xss&#xff09; low 这一关没有任何防护&#xff0c;直接输入弹窗代码 弹窗成功 medium 先试试上面的代码看看&#xff0c;有没有什么防护 发现我们的script标签不见了&#xff0c;应该是被过滤掉…

跑腿系统开发:构建实时任务分配算法的技术挑战

在跑腿系统中&#xff0c;实时任务分配算法是确保任务快速高效完成的关键因素之一。本文将介绍构建实时任务分配算法时可能面临的技术挑战&#xff0c;并提供一个简单的Python示例来解决这些挑战。 技术挑战&#xff1a; 实时数据处理&#xff1a; 跑腿系统需要处理大量的实时任…

Windows Server 2008安装.NET Framework 3.5

安装.NET Framework 3.5一、打开服务器管理器 在开始菜单中搜索“服务器管理器” 二、添加.NET Framework 3.5.1功能 &#xff08;一&#xff09;功能-》添加功能 &#xff08;二&#xff09;选择功能“.NET Framework 3.51” 1.点击“NET Framework 3.5.1”勾选框 2.点击“添…

C#小知识

项目编译后复制文件到生成目录 方法1 对于单个文件&#xff0c;可以点击属性。输出目录里选择始终复制。 方法2 把项目中的ServerScripts复制到输出目录。 在项目设置中&#xff0c;生成事件里添加批处理 xcopy $(ProjectDir)ServerScripts\*.* $(TargetDir)ServerScrip…

本地搭建CFimagehost私人图床——“cpolar内网穿透”

文章目录 1.前言2. CFImagehost网站搭建2.1 CFImagehost下载和安装2.2 CFImagehost网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar临时数据隧道3.2 Cpolar稳定隧道&#xff08;云端设置&#xff09;3.3.Cpolar稳定隧道&#xff08;本地设置&#xff09; 4.公网访问测…

【JVM】Java类的加载机制!

一、类的生命周期 类加载过程包含&#xff1a;加载、验证、准备、解析和初始化 &#xff0c;一共包括5 个阶段。 &#xff08;1&#xff09;加载&#xff1a; 简单来说就是将java类的字节码文件加载到机器内存中。在加载类时&#xff0c;Java虚拟机必须完成以下3件事情&…

[Linux打怪升级之路]-缓冲区

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 本期学习目标&…

AI助力安全监管:TSINGSEE视频智能分析系统烟火识别算法

水火无情人有情&#xff0c;火灾一旦发生没有被及时发现&#xff0c;就能在极短的时间内酿成无法挽回的大祸&#xff0c;所以烟火的监管与处理极为重要。为了让火患在刚发生时就能得到扼制&#xff0c;TSINGSEE青犀AI智能分析网关烟火识别算法具有重要意义。 TSINGSEE青犀AI智能…

Arcgis栅格转点时ERROR 999999: 执行函数时出错。 无法创建要素数据集。 执行(RasterToPoint)失败

Arcgis栅格转点时ERROR 999999: 执行函数时出错。 无法创建要素数据集。 执行(RasterToPoint)失败。 问题描述 原因 输出点要素的位置不对 解决方案 点击新建文件地理数据库 然后在该文件地理数据库下输出

.Net IDE智能提示汉化(.Net6、AspNetCore)

先上现成的.net6汉化文件&#xff0c;可以手动下载后参照 如何为 .NET 安装本地化的 IntelliSense 文件 进行安装。或者使用后文的工具进行自动安装。 无对照英文在前中文在前 汉化内容来自 官方在线文档 &#xff0c;某些内容可能存在明显的机翻痕迹。 上一些效果图&#x…

UINT64整型数据在格式化时使用了不匹配的格式化符%d导致其他参数无法打印的问题排查

目录 1、问题描述 2、格式化函数内部解析待格式化参数的完整机制说明 2.1、传递给被调用函数的参数是通过栈传递的 2.2、格式化函数是如何从栈上找到待格式化的参数值&#xff0c;并完成格式化的&#xff1f; 2.3、字符串格式化符%s对应的异常问题场景说明 2.4、为了方便…

项目实战— pytorch搭建CNN处理MNIST数据集

项目文件夹介绍 项目文件夹 CNN_MNIST_practice文件夹是整个项目的文件夹&#xff0c;里面存放了六个子文件夹以及四个 .py 程序&#xff0c;接下来我们分别来介绍这些文件的内容。 其中 minist_all_CPU.py 是CPU版本的模型训练&#xff0b;测试程序&#xff0c;而 min…

【Redis】Redis的特性和应用场景 · 数据类型 · 持久化 · 数据淘汰 · 事务 · 多机部署

【Redis】Redis常见面试题&#xff08;3&#xff09; 文章目录 【Redis】Redis常见面试题&#xff08;3&#xff09;1. 特性&应用场景1.1 Redis能实现什么功能1.2 Redis支持分布式的原理1.3 为什么Redis这么快1.4 Redis实现分布式锁1.5 Redis作为缓存 2. 数据类型2.1 Redis…

03MyBatis-Plus中的常用注解

常用注解 TableName MyBatis-Plus根据BaseMapper中指定的泛型(实体类型名)确定数据库中操作的表,如果根据实体类型名找不到数据库中对应的表则会报表不存在异常 //向表中插入一条数据 Test public void testInsert(){User user new User(null, "张三", 23, "…

Python编辑器和Pycharm的傻瓜式安装部署

给我家憨憨写的python教程 有惊喜等你找噢 ——雁丘 Python解释器Pycharm的安装部署 关于本专栏一 Python编辑器1.1 使用命令提示符编写Python程序1.2 用记事本编写Python程序 二 Pycharm的安装三 Pycharm的部署四 Pycharm基础使用技巧4.1 修改主题颜色4.2 修改字体4.3 快速修…

mysql中update更新时加条件和不加条件速度对比

测试时有时需要执行更新操作&#xff0c;想知道大量数据update时加where条件和不加where条件速度差异如何&#xff0c;正好有条件测试&#xff0c;记录一下。 数据&#xff1a;9张表&#xff0c;每张表300w条数据 一、对9张表进行单字段更新时不加条件(如&#xff1a;update …