收藏
回答

picker-view中如果修改了picker-view-column排版会错误是怎么回事?

本来只是一个简单的多级联动picker-view,但是发现如果在它的bindchange中修改了picker-view-column里显示的内容的话,每个column的行高就会突然张开,排版变得诡异了起来。不知道有没有大佬看得出这是什么原因[捂脸]

代码片段链接如下:https://developers.weixin.qq.com/s/KbfFqpmQ7pk3

代码不多,顺便贴一个好了,

const app = getApp();
Page({
  data: {
    pickerColumns: [
      [{"key1""第一列"}, {"key2""第二行"}],
      [{"key1""第二列"}, {"key2""第二行"}, {"key3""第三行"}],
      [{"key1""第三列"}],
      [{"key1""第四列"}],
      [{"key1""第五列"}]
    ],
    pickerColumnsKeys: ["key1""key2""key3"],
  },
  onLoadfunction () {
    console.log('代码片段是一种迷你、可分享的小程序或小游戏项目,可用于分享小程序和小游戏的开发经验、展示组件和 API 的使用、复现开发问题和 Bug 等。可点击以下链接查看代码片段的详细文档:')
    console.log('https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/devtools.html');
  },
  testObjectfunction () {
    this.setData({
      pickerColumns: [
        [{"key1""第一列"}, {"key2""第二行"}],
        [{"key1""第二列"}, {"key2""第二行"}, {"key3""第三行"}],
        [{"key1""第三列"}],
        [{"key1""第四列"}],
        [{"key1""第五列"}]
      ],
    });
  },
})


<view class="intro" bindtap="activePopup">欢迎使用代码片段,可在控制台查看代码片段的说明和文档</view>

<view style="width: 100vw; height: 50vh">
  <picker-view style="width: 100%; height: 100%; text-align: center;" bindchange="testObject">
    <picker-view-column wx:for="{{pickerColumns}}">
      <view wx:for="{{item}}" wx:for-item="lowerItem" wx:for-index="lowerIndex" style="line-height: 50px; color: {{index == pickerColumns.length - 1 && lowerIndex == 0 ? 'red' : ''}}">{{lowerItem[pickerColumnsKeys[lowerIndex]]}}</view>
    </picker-view-column>
  </picker-view>
</view>
回答关注问题邀请回答
收藏

1 个回答

  • 圣殿骑士
    圣殿骑士
    2天前

    这里干嘛要重新在赋值一遍?

    bindchange 是你对应的 子孙曾孙选项有变化再赋值的

    2天前
    有用
    回复 4
    • 压力山大•慌
      压力山大•慌
      2天前
      这是个例子,比方说某一列选择后其他列展示了不同的选项,这里就是把中间的各种操作都省略掉了,然后假装说我这个划动了一列,现在选项变成了这样的
      2天前
      回复
    • 圣殿骑士
      圣殿骑士
      1天前回复压力山大•慌
      是用真机看下? 我试了下 没问题
      1天前
      回复
    • 压力山大•慌
      压力山大•慌
      1天前回复圣殿骑士
      是的,我真机预览和调试都是错的,这就很神秘了[皱眉]
      1天前
      回复
    • 压力山大•慌
      压力山大•慌
      1天前回复圣殿骑士
      我最后暂时把里面的行高调成35px了,虽然还是会动,至少张开后字还能留在同一行了[捂脸]有解决办法前只能先这样了...
      1天前
      回复
登录 后发表内容
问题标签