picker组件设置flex后导致内部view宽度/高度丢失
发布于 5 年前 作者 guming 19892 次浏览 来自 问答

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. 如果有其他更好的方案,请指点下!谢谢!

    

3 回复

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

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

今天遇到,顶一下

回到顶部