Skip to content

H5端ScrollView组件属性定义与实现不一致 #18249

@coderabbitai

Description

@coderabbitai

问题描述

packages/babel-plugin-transform-taroapi/tests/__mocks__/h5-definition.json 文件中,scroll-view 组件定义了 enhancedshowScrollbar 属性:

"scroll-view": {
  "enhanced": "boolean",
  "showScrollbar": "boolean",
  // ...其他属性
}

但是这些属性在 H5 端的实际实现中可能并未完全支持,这会导致:

  1. 测试通过但运行时无效 - 插件测试会通过,但实际运行时这些属性不起作用
  2. 跨端一致性问题 - 开发者可能认为这些属性在 H5 端有效,但实际并非如此
  3. 开发者认知偏差 - API 定义与实际功能不匹配

相关信息

  • 相关文件: packages/babel-plugin-transform-taroapi/tests/__mocks__/h5-definition.json
  • 涉及属性: enhanced, showScrollbar
  • 组件: scroll-view
  • 平台: H5

解决方案建议

  1. 短期方案:

    • 调研 H5 端是否已实现这些属性的功能
    • 如未实现,在文档中明确标注这些属性在 H5 端为 no-op
  2. 长期方案:

    • 实现 H5 端对应的功能支持
    • 或者从 H5 定义中移除未实现的属性,直到真正支持

背景

该定义文件由 packages/taro-platform-h5/scripts/post-build.mjs 自动生成,从 taro-platform-h5/dist/definition.json 复制内容。

参考

@ianzone

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions