在用uniui轮播图组件时想自定义下面的小圆点组件但是/deep/在h5有效到了小程序就失效了
各种办法都试过了 比如important、options:{stylexxxxxx} 都是只有h5/deep/生效而小程序失效
最后我选择使用uniui另外一个组件 uni-swiper-dot 自定义小圆点 用swiper的chang事件来控制小圆点的显示
然后/deep/修改这个小圆点的样式达到目的 但是发现这个组件也不支持定义宽和高 没办法 只能找到这个组件 给item 加了我自己自定义的class 解决了。
html ->
<uni-swiper-dot :dotsstyles="{backgroundColor:'#F5F5F5',selectedBackgroundColor:'#FFDD00',bottom:'18'}" class="swiper-dot" :info="dataList" :current="current" field="content" mode="default">
<swiper @change="GetSwiperIndex" indicator-active-color="#FFDD00" class="white-Box-swiper" :indicator-dots="false" :autoplay="false"
:interval="3000" :duration="1000">
<swiper-item v-for="item,index of dataList" :key="index">
<view class="swiper-item">
<view class="card-Box-main mg-X">
<view class="card-Box-item" v-for="(xitem,xindex) of item" :key="xindex">
<image class="card-image" :src="xitem.icon"></image>
<view class="card-Box-text">{{xitem.title}}</view>
</view>
</view>
</view>
</swiper-item>
</swiper>
</uni-swiper-dot>
css->
.swiper-dot,.white-Box-swiper{
overflow: visible!important;
}
.uni-swiper__warp{
overflow: visible!important;
}
/deep/.uni-swiper__dots-item{
width: 30rpx!important; //发现不写这个h5会失效
}
.zdy-class-dot{
width: 30rpx!important;
}
组件源码中 ->
<view v-if="mode === 'default'" :style="{'bottom':dots.bottom + 'px'}" class="uni-swiper__dots-Box" key='default'>
<view v-for="(item,index) in info" @click="clickItem(index)" :style="{
'width': (index === current? dots.width*2:dots.width ) + 'px','height':dots.width/3 +'px' ,'background-color':index !== current?dots.backgroundColor:dots.selectedBackgroundColor,'border-radius':'0px'}"
:key="index" class="uni-swiper__dots-item uni-swiper__dots-bar /*这里是我自定义的class*/ zdy-class-dot" />
</view>
最后总算是解决了这个小bug 。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。