编程语言
首页 > 编程语言> > 小程序修改自定义组件样式

小程序修改自定义组件样式

作者:互联网

需求

改变下拉框的宽度,未改变之前宽度是写死的,文字距离箭头很远

 

 

 

 

解决思路

在组件的js文件中将wxml中需要修改的标签class暴露出来,然后在引用组件时
对暴露出的class进行class覆盖。
1.找到需要修改的标签
<view class='ms-content-box'>
    <view class='ms-content' bindtap='selectToggle'>
        <view class='ms-text'>{{selectText}}</view>
         <view class="{{selectShow ? 'icon-u    p' : 'icon-down'}}"></view>
    </view>
    <view class='ms-options' wx:if="{{selectShow}}">
        <view wx:for="{{propArray}}" data-index="{{index}}" wx:key='index' class='ms-option' bindtap='setText'>{{item.text || item.value || item}}</view>
    </view>
</view>

 

通过对组件的观察,我们需要覆盖的标签的class为ms-content-box
2.在组件的js文件中将这个class暴露
Component({
    externalClasses: ['ms-content-box'], 

})

3.在引用页面引用该组件时对暴露出的class进行覆盖
<view class="select">
  <!-- 下拉框组件start -->
  <single-dropdown-select prop-array='{{selectArray}}' selectText="{{selectText}}" bind:select='select' ms-content-box='new-ms-content-box'
    selectText="{{selectText}}" />
</view>

 

4.在wxss文件中添加需要修改的样式
  .new-ms-content-box {   width: auto!important; }

 

 
 

标签:box,自定义,item,content,程序修改,ms,组件,class
来源: https://www.cnblogs.com/magic-world/p/14307472.html