<!-- 方式一 <button> 按钮 -->
<button open-type="contact">客服</button><!-- 方式二 <contact> 按钮 -->
<contact-button></contact-button>
说实话,官方提供的这两种方式局限都挺大,特别是第二种,要实现我的奇葩需求太难了。原本抱有的一丝期望在查阅了大量的资料后也放弃了,目前为止还没有办法通过调用事件来打开客服,于是只能回到上面这两种方式中来
网上查到的一般是是通过把<contact-button>放一排,以达到点击按钮任何位置都能打开客服的目的,
或者通过把客服按钮绝对定位到自己的按钮上方,然后设置绝对透明,以达到看到的是自己写的按钮但是实际点击的是客服按钮的目的(原文链接:)
但是作为一个重度强迫症患者,觉得这两种方法都显得过于繁琐了,不够完美,于是尝试通过定义button来实现我想要的效果
首先,我想要实现的效果如下图所示
客服按钮对应wxml代码为
<!--客服-->
<view class='col-100'><view class='button-setting' wx:for='{{connectButton}}' wx:key='key'><text class='{{item.className}}'>{{}}</text><text class='icon-right {{item.className}}'>〉</text></view>
</view>
.js文件相关代码
Page({data: {connectButton: [{ className: "", text: "在线客服", bindtap: "" }]},})
.wxss文件相关代码
.col-100 {width: 100vw;background-color: #FFFFFF;margin-top: 20rpx;overflow: hidden;
}.button-setting {border-bottom: #F2F2F2 1px solid;padding: 30rpx 20rpx 30rpx 60rpx;color: #333;
}.icon-right {float: right;color: #CCC;
}
我实现这个样式的思路是,用<button>标记包住菜单内容以实现点击菜单任何位置都能打开客服,再对<button>按钮定义样式,使其完全融入菜单当中,相关代码如下
<!--现在的客服-->
<view class='col-100'><button open-type="contact" class='contacButton'><view class='contacButtonView' wx:for='{{connectButton}}' wx:key='key'><text class='floatL {{item.className}}'>{{}}</text><text class='icon-right {{item.className}}'>〉</text></view></button>
</view><!--原来的客服-->
<view class='col-100'><view class='button-setting' wx:for='{{connectButton}}' wx:key='key'><text class='{{item.className}}'>{{}}</text><text class='icon-right {{item.className}}'>〉</text></view>
</view>
.js文件
Page({data: {connectButton: [{ className: "", text: "在线客服", bindtap: "" }]},})
.wxss文件
.col-100 {width: 100vw;background-color: #FFFFFF;margin-top: 20rpx;overflow: hidden;
}.button-setting {border-bottom: #F2F2F2 1px solid;padding: 30rpx 20rpx 30rpx 60rpx;color: #333;
}.icon-right {float: right;color: #CCC;
}.contacButton {background-color: #FFF;padding: 0;margin: 0;font-size: inherit;
}.contacButton::after {border: #FFF solid;
}.contacButtonView {padding: 12rpx 20rpx 12rpx 60rpx;color: #333;
}
对比wxml可以发现,对代码的改动极小,只是使用button保住了原来的内容,并且定义了新的样式,其他的没有做变化
如果大家有更好的方法欢迎分享!
本文发布于:2024-02-05 06:29:23,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170726296163861.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |