鸿蒙下双列 items 一直在 display:none 状态下渲染,首次切换时 boundingClientRect 测得尺寸为 0,waterfallflow 算出来的 left/top 让 items 全部叠在一起。 修复:通过 :key 加 isList 前缀,切换模式时强制重建 DOM,新 DOM 在 display:flex 可见状态下生成,测量正确。 平台判断放在 mixin 的 goodsItemKey 方法里用 JS 条件编译,模板 只调方法,避免在 vue 模板里写 #ifdef/#else(uni-app 不支持)。