微信小程序WeUI中half-screen-dialog底部弹窗相关问题

2024-01-18 14:40

本文主要是介绍微信小程序WeUI中half-screen-dialog底部弹窗相关问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

需求:
如图需要从页面底部弹出一个弹框,弹框里的内容超出最大高度时,可以滚动。
在这里插入图片描述

问题:

  1. 原生的组件关闭图标在左侧,需要通过样式改到右侧
  2. 原生的组件底部有footer按钮区域,需要通过样式隐藏掉
  3. 在弹框里使用区域滚动通过scroll-view 设置纵向滚动并给最大高度
  4. 设置title
  5. half-screen-dialog如果在子组件中引入,需要在pages父组件中的css文件里修改样式。在子组件中修改不生效

代码:

index.json

{"component": true,"usingComponents": {"compute-cart": "/components/computeCart","mp-half-screen-dialog": "weui-miniprogram/half-screen-dialog/half-screen-dialog"}
}

index.wxml

<mp-half-screen-dialog extClass='type-dialog' show="{{typeDialog}}" bindclose='toggleDialog'><view slot="title" style="text-align: left;"><text>{{curGoodsSpec.goodsName}} {{curGoodsSpec.spec}}</text></view><view class="model" slot="desc"><scroll-view class="scrollBox" scroll-y="true"><view class="" wx:for="{{curGoodsSpec.detailVos}}" wx:key="index"><view class="title">{{item.goodsSpec}}<view class="bestOffer" wx:if="{{item.bestOfferLabel}}"><image src="https://retail.benlai.com/fortune/images/bazaar/cheapestSingle.png" mode="widthFix" class="cheapestSingle"></image>单价最便宜</view></view><view class="goods-weight"><view class="goods-netWeight " style="margin-right: 24rpx;"><view class="weight-name {{item.isSelected ? 'goods-name-active' : ''}} {{curGoodsSpec.settlementType == 1 ? 'bordeRi' : ''}}">¥{{item.disSalePrice}}/件</view><view class="weight-num {{item.isSelected ? 'goods-num-active' : ''}}" wx:if="{{curGoodsSpec.settlementType !== 1}}">约¥{{item.netUnitPrice}}/斤</view></view></view></view></scroll-view><!-- 合计 --><view class="footer"><view class="footer-all">共计:<text class="totalIcon">¥</text><text class="totalMoney"> {{curGoodsSpec.totalSpecAmount}}</text></view><view class=""><!-- 不在售卖时间显示加减数量 --><view class="{{curGoodsSpec.goodsStatus == 1 ? 'priceinfo' : ''}} {{curGoodsSpec.goodsStatus == 5 ? 'out-sale-cart-btn' : ''}}"><compute-cartquantity="{{curGoodsSpec.cartQty}}"cur-stock="{{curGoodsSpec.curStock}}"from="cartpageSpec"goods-key="{{curGoodsSpec.goodsKey}}"goods-status="{{curGoodsSpec.goodsStatus}}"multiple="{{curGoodsSpec.multiple}}"bind:cb="bindCartItemChange"></compute-cart></view></view></view></view>
</mp-half-screen-dialog>

index.js

methods: {bindCartItemChange(e) {this.setData({curGoodsKey: e.detail.goodsKey})this.getGoodsSpecShow()},// 优惠加购toggleDialog(e) {this.setData({typeDialog: !this.data.typeDialog,curGoodsKey: e.detail})if (this.data.typeDialog) {this.getGoodsSpecShow()}},getGoodsSpecShow() {let params_ = {goodsKey: this.data.curGoodsKey,merchantNo: wx.getStorageSync("merchantNo")}goodsSpecShow(params_).then(data => {if (data) {this.setData({curGoodsSpec: data})}})},}

index.wxss

.goods-weight .weight-num {color: #666;background: #fff;border-radius: 0rpx 4rpx 4rpx 0rpx;border: 1rpx solid #CFCFCF;padding: 9rpx 12rpx;
}
.scrollBox {max-height: 580rpx;
}
.scrollBox .title {font-size: 28rpx;font-weight: 400;color: #999999;margin-bottom: 16rpx;display: flex;
}
.model {border-top: 2rpx solid #EEEEEE;padding-top: 32rpx;
}
.footer {padding: 24rpx 32rpx 0 32rpx;border-top: 2rpx solid #EEEEEE;display: flex;justify-content: space-between;
}
.footer .footer-all {font-size: 24rpx;font-weight: 400;color: #666666;line-height: 34rpx;
}
.footer .totalIcon {font-size: 24rpx;font-weight: 400;color: #FF0B0B;line-height: 34rpx;
}
.footer .totalMoney {font-size: 40rpx;font-weight: 600;color: #FF0B0B;line-height: 56rpx;
}
.scrollBox {padding: 0 32rpx;
}.priceinfo {text-align: right;
}
.out-sale-cart-btn {position: relative;z-index: 20;
}
.bestOffer {font-size: 24rpx;font-weight: 400;color: #FF0B0B;line-height: 34rpx;display: flex;margin-left: 8rpx;
}
.goods-weight .goods-name-active {color: #FA4F13;border: 1rpx solid #E66F22;background: #fdd8cf;
}
.goods-weight .goods-num-active {color: #FA4F13;border: 1rpx solid #E66F22;border-left: 0;
}

弹窗样式只能写在pages父组件中

/* half-screen-dialog ui组件样式只能写在pages里 */.type-dialog .weui-half-screen-dialog__ft {display: none !important;
}
.type-dialog .weui-half-screen-dialog__bd {padding-bottom: 20px;
}
.type-dialog {padding: 0;
}
.weui-half-screen-dialog__hd {padding: 0 32rpx;
}
/* 隐藏更多按钮避免关闭点击偶尔失效 */
.weui-half-screen-dialog .weui-icon-btn_more{display: none !important;
}
.weui-icon-btn_close {position: absolute;right: -680rpx;
}
.weui-half-screen-dialog__hd__main {padding-left: 0 !important;
}

参考文章:
微信小程序WeUI中half-screen-dialog的小问题
WeUI官方组件库:助力小程序高效设计与开发官方

这篇关于微信小程序WeUI中half-screen-dialog底部弹窗相关问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/619330

相关文章

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

购买磨轮平衡机时应该注意什么问题和技巧

在购买磨轮平衡机时,您应该注意以下几个关键点: 平衡精度 平衡精度是衡量平衡机性能的核心指标,直接影响到不平衡量的检测与校准的准确性,从而决定磨轮的振动和噪声水平。高精度的平衡机能显著减少振动和噪声,提高磨削加工的精度。 转速范围 宽广的转速范围意味着平衡机能够处理更多种类的磨轮,适应不同的工作条件和规格要求。 振动监测能力 振动监测能力是评估平衡机性能的重要因素。通过传感器实时监

缓存雪崩问题

缓存雪崩是缓存中大量key失效后当高并发到来时导致大量请求到数据库,瞬间耗尽数据库资源,导致数据库无法使用。 解决方案: 1、使用锁进行控制 2、对同一类型信息的key设置不同的过期时间 3、缓存预热 1. 什么是缓存雪崩 缓存雪崩是指在短时间内,大量缓存数据同时失效,导致所有请求直接涌向数据库,瞬间增加数据库的负载压力,可能导致数据库性能下降甚至崩溃。这种情况往往发生在缓存中大量 k

6.1.数据结构-c/c++堆详解下篇(堆排序,TopK问题)

上篇:6.1.数据结构-c/c++模拟实现堆上篇(向下,上调整算法,建堆,增删数据)-CSDN博客 本章重点 1.使用堆来完成堆排序 2.使用堆解决TopK问题 目录 一.堆排序 1.1 思路 1.2 代码 1.3 简单测试 二.TopK问题 2.1 思路(求最小): 2.2 C语言代码(手写堆) 2.3 C++代码(使用优先级队列 priority_queue)

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用