Skip to content

fix(image): 修复内联样式不生效#3254

Merged
xiaoyatong merged 2 commits intojdf2e:feat_v3.xfrom
Miles-hxy:fix_image_style
Jun 11, 2025
Merged

fix(image): 修复内联样式不生效#3254
xiaoyatong merged 2 commits intojdf2e:feat_v3.xfrom
Miles-hxy:fix_image_style

Conversation

@Miles-hxy
Copy link
Collaborator

@Miles-hxy Miles-hxy commented Jun 7, 2025

🤔 这个变动的性质是?

  • 新特性提交
  • 日常 bug 修复
  • 站点、文档改进
  • 演示代码改进
  • 组件样式/交互改进
  • TypeScript 定义更新
  • 包体积优化
  • 性能优化
  • 功能增强
  • 国际化改进
  • 重构
  • 代码风格优化
  • 测试用例
  • 分支合并
  • 其他改动(是关于什么的改动?)

🔗 相关 Issue

💡 需求背景和解决方案

☑️ 请求合并前的自查清单

⚠️ 请自检并全部勾选全部选项⚠️

  • 文档已补充或无须补充
  • 代码演示已提供或无须提供
  • TypeScript 定义已补充或无须补充
  • fork仓库代码是否为最新避免文件冲突
  • Files changed 没有 package.json lock 等无关文件

Summary by CodeRabbit

  • 样式
    • 优化了图片组件对自定义样式的支持,用户传入的样式现在会更好地应用到图片容器上。

@coderabbitai
Copy link

coderabbitai bot commented Jun 7, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

本次变更调整了 Image 组件中样式的处理方式,将传入的 style 属性(经 CSSProperties 类型断言)直接合并进 containerStyle 对象,实现用户自定义样式的无缝整合。未涉及其他逻辑或导出声明的修改。

Changes

文件/路径 变更摘要
src/packages/image/image.taro.tsx 显式引入 CSSProperties,并将传入的 style 属性(断言为 CSSProperties)合并进 containerStyle

Possibly related PRs

Suggested reviewers

  • xiaoyatong
  • oasis-cloud

Poem

小兔挥笔写新篇,
样式合并更自然。
组件衣裳随心变,
代码清爽又安全。
React 与 CSS 携手舞,
用户体验更美满! 🐇✨


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6c134a7 and 385c1e4.

📒 Files selected for processing (1)
  • src/packages/image/image.taro.tsx (2 hunks)
✨ Finishing Touches
  • 📝 Generate Docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@github-actions github-actions bot added the action:review This PR needs more reviews (less than 2 approvals) label Jun 7, 2025
@Miles-hxy Miles-hxy requested a review from irisSong June 7, 2025 06:13
@github-actions github-actions bot added the 3.x Target branch 3.x label Jun 7, 2025
@Miles-hxy Miles-hxy requested a review from xiaoyatong June 7, 2025 06:13
@codecov
Copy link

codecov bot commented Jun 7, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 87.75%. Comparing base (2be2459) to head (385c1e4).
Report is 6 commits behind head on feat_v3.x.

Additional details and impacted files
@@              Coverage Diff              @@
##           feat_v3.x    #3254      +/-   ##
=============================================
+ Coverage      87.59%   87.75%   +0.16%     
=============================================
  Files            290      290              
  Lines          19102    19111       +9     
  Branches        2930     2939       +9     
=============================================
+ Hits           16732    16771      +39     
+ Misses          2365     2335      -30     
  Partials           5        5              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (3)
src/packages/image/image.taro.tsx (3)

2-2: 使用 import type 优化类型导入
当前直接从 react 导入了 CSSProperties,会在运行时保留无用的导入。建议改为:

-import React, {
-  CSSProperties,
+import React, {
+  FunctionComponent,
+  useCallback,
+  useState,
-} from 'react'
+} from 'react'
+import type { CSSProperties } from 'react'

这样能让编译器在产物中移除类型导入,减少包体积。


61-71: 明确 style 与内置尺寸样式的覆盖顺序
这里将用户传入的 style 放在最前面,后续的 height/width/radius 配置会覆盖用户的同名属性;反之,用户若要完全接管尺寸则需在 style 中手动重写。
建议要么将 ...(style) 放到最后以保证用户优先级,要么在文档中强调属性覆盖规则。


73-77: 统一 imgStyle 的类型并剥离多余合并
imgStyle 当前类型为 any 且又重复合并了 style,会导致容器和图片元素同时应用同一份样式,引发潜在冲突。

  • 建议改为 CSSProperties 类型:
    const imgStyle: CSSProperties = {
      width: pxCheck(width),
      height: pxCheck(height),
    }
  • 如确实需单独自定义图片样式,可新增 imageStyle 属性;否则移除对 style 的二次合并。
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3b03fa0 and 6c134a7.

📒 Files selected for processing (1)
  • src/packages/image/image.taro.tsx (2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (2)
  • GitHub Check: build
  • GitHub Check: test

@xiaoyatong xiaoyatong merged commit c17af68 into jdf2e:feat_v3.x Jun 11, 2025
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3.x Target branch 3.x action:review This PR needs more reviews (less than 2 approvals) size/XS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants