收藏
回答

picker组件设置flex后导致内部view宽度/高度丢失

框架类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 picker 微信iOS客户端 iOS 6.6.3 1.9.8

wxml代码

<picker class="pickContainer" range="{{[1,2,3,4]}}">
      <view class="pickerContentContainer">下拉选择</view>
</picker>

样式代码

.pickContainer{

    width: 100%;

    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    background: blue;               
    .pickerContentContainer{
        width: 100%;
        height: 100%;
        font-size: 28rpx;
        background: red;
    }
}


问题1:picker是否推荐设置样式?

问题2:如果设置样式

        场景1:picker组件默认display:block; 其内部view表现为高度丢失,如下图:

                

        场景2:如果设置为display:flex后,其内部的view会宽度丢失,如下图:


        场景3: 设置align-items:center;后,宽度高度全部丢失,如下图:



疑问1:picker组件的样式是否和view类似,支持常规样式设置,或是需要进行兼容?

疑问2:picker组件在不添加内部的view的时候,是否规定了无法调起选择器弹层?

官方demo:

<picker bindchange="bindPickerChange" value="{{index}}" range="{{array}}">
  <view class="picker">
    当前选择:{{array[index]}}
  </view>
</picker>


Tips:

    1. 如果有任何错误,请留言告知,谢谢!

    2. 对于测试代码中的颜色,请不要纠结

    3. 我只是想让内部的view能撑满整个右边部分的空间

    4. 如果有其他更好的方案,请指点下!谢谢!

    

回答关注问题邀请回答
收藏

7 个回答

  • 班瑞
    班瑞
    11-01

    发现问题:我是今天同事找我才发现,uni-app里面正常,这里就失效了,点击范围变小

    解决问题-方法1:-当时是用绝对定位做的。

    解决问题-方法2:回来研究会,看布局状态感觉是纵向排列了,于是我设置了flex-direction:column;居然好使了

    修改前案例

    修改后案例

    修改后案例-设置百分百也好使了

    总结:可见这个问题是一直纯在的,感觉这里的标签有自己的默认属性,并不像uni-app里那样完全当div使用

    11-01
    有用
    回复
  • 又是下雨的一天呢
    又是下雨的一天呢
    2023-11-22

    挖个坟,有解决方案了吗?

    2023-11-22
    有用
    回复
  • LDMING
    LDMING
    2023-07-11

    挖个坟,这个5年都没解决方案的吗?你们都是怎么规避这个问题的?

    2023-07-11
    有用
    回复 2
    • A乐付A
      A乐付A
      2023-08-17
      今天我也遇到这个问题了,宽度丢失
      2023-08-17
      回复
    • A乐付A
      A乐付A
      2023-08-17
      结果还是使用了  let query = wx.createSelectorQuery().in(this)
          query.select('.login_shop_box').boundingClientRect()
          query.select('.login_user_image').boundingClientRect()  去处理view的宽度问题,希望有大佬能告诉我更好的方法,到时优化一下
      2023-08-17
      回复
  • 业转
    业转
    2020-06-14

    两年了..我也遇到这个问题了,然后我加了个 !important 貌似解决了

    2020-06-14
    有用
    回复
  • 『Nine』
    『Nine』
    2018-11-26

    写固定的宽度是可以的,如果是按比例的话就不可以了,郁闷

    2018-11-26
    有用
    回复 1
  • 2018-10-01

    楼主解决这个问题了吗,我也遇到了这个问题,不能设置宽度,好烦

    2018-10-01
    有用
    回复
  • 2018-02-27

    今天遇到,顶一下

    2018-02-27
    有用
    回复
登录 后发表内容