Skip to content

feat: ✨ 为 Cell、Input、Textarea 等组件添加 marker-side 属性控制必填*位置 - #1181

Merged
Moonofweisheng merged 3 commits into
masterfrom
feat/wd-cell-mark-side
Jul 28, 2025
Merged

Moonofweisheng merged 3 commits into
masterfrom
feat/wd-cell-mark-side

Conversation

@Moonofweisheng

@Moonofweisheng Moonofweisheng commented Jul 27, 2025 •

Copy link
Copy Markdown
Owner

✅ Closes: #555

🤔 这个 PR 的性质是?(至少选择一个)

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

🔗 相关 Issue

💡 需求背景和解决方案

#555

markerSide 功能改动总结

功能概述

本次为 Wot Design Uni 组件库添加了 markerSide 属性,用于控制必填标记(*)的显示位置,支持 'before'(左侧)和 'after'(右侧)两种位置。

涉及组件

以下组件新增了 markerSide 属性支持:

  • wd-cell - 单元格组件
  • wd-input - 输入框组件
  • wd-textarea - 文本域组件
  • wd-picker - 选择器组件
  • wd-select-picker - 单选选择器组件
  • wd-calendar - 日历组件
  • wd-datetime-picker - 日期时间选择器组件
  • wd-col-picker - 多列选择器组件

主要改动点

1. 组件实现

  • 为所有相关组件添加 markerSide 属性,类型为 'before' | 'after',默认值为 'before'
  • 更新 TypeScript 类型定义文件
  • 在组件模板中将 markerSide 属性传递给内部的 wd-cell 组件

2. 文档更新

  • 中文文档:为所有组件的 Attributes 表格添加 markerSide 属性说明
  • 英文文档:同步添加 markerSide 属性说明
  • 添加版本号占位符 $LOWEST_VERSION$
  • 为部分组件添加"必填样式(右侧标记)"示例

3. 测试用例

  • 为所有相关组件补充 markerSide 属性的完整测试用例
  • 测试默认值、不同取值时的行为、样式应用等
  • 修复了测试用例中的断言问题和组件实现不一致的问题

升级注意点

1. 默认行为变更

  • 重要:所有组件的 markerSide 默认值为 'before'(左侧显示),保持向后兼容
  • 现有项目升级后,必填标记的显示位置不会发生变化,但是如果通过重写is-required样式修改必填样式则需要作兼容性改造。

2. API 一致性

  • 所有支持必填标记的组件现在都具有统一的 markerSide API
  • 使用 wd-cell 作为触发器的组件(如各种 picker)会自动继承此属性

3. 样式兼容性

  • 新增的 markerSide 属性不会影响现有的样式和布局
  • 如需使用右侧标记,需要显式设置 markerSide="after"

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

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

  • 文档已补充或无须补充
  • 代码演示已提供或无须提供
  • TypeScript 定义已补充或无须补充

Summary by CodeRabbit

  • 新功能

    • 表单相关组件新增“marker-side”属性,支持设置必填标记(*)显示在标签前或后,默认在前。
    • 选择器类组件文档新增“required”属性说明。
    • 新增多语言支持,增加“必填星号在右”相关中英文翻译。
    • 示例页面新增必填标记位置为右侧的演示。
  • 样式

    • 优化必填标记(*)样式,支持左右两侧显示,调整相关组件样式结构及间距变量。
  • 文档

    • 补充各组件文档中“marker-side”属性及用法说明,完善 API 参考。
  • 测试

    • 新增多项单元测试,验证“marker-side”属性在各组件中的显示位置及默认行为。

@vercel

vercel Bot commented Jul 27, 2025 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
wot-design-uni ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 27, 2025 3:05pm

@coderabbitai

coderabbitai Bot commented Jul 27, 2025 •

Copy link
Copy Markdown
## Walkthrough

本次变更为多个表单相关组件(如 Cell、Input、Picker、Textarea、Calendar 等)及其文档引入了新的属性 `marker-side`,用于控制必填星号(*)的位置(可选 "before" 或 "after")。涉及属性类型定义、模板渲染、样式调整、国际化文案补充、文档完善及相关测试用例的增加和更新,未涉及核心业务逻辑变动。

## Changes

| 文件/分组 | 变更简述 |
|---|---|
| docs/component/*.md<br>docs/en-US/component/*.md | 各组件文档新增 `marker-side` 属性说明,部分 SelectPicker 文档补充了 `required` 属性说明,ColPicker 英文文档重写为完整 API 参考。 |
| src/locale/zh-CN.json<br>src/locale/en-US.json | 新增“必填星号在右”相关国际化文案。 |
| src/uni_modules/wot-design-uni/components/wd-*/types.ts | 各组件类型定义新增 `markerSide` 属性,限定为 'before' 或 'after',默认 'before'。 |
| src/uni_modules/wot-design-uni/components/wd-*/wd-*.vue | 组件模板新增 `marker-side` 属性传递,Cell/Input/Textarea 等组件根据 `markerSide` 属性动态渲染星号位置,ColPicker 移除表单校验相关逻辑。 |
| src/uni_modules/wot-design-uni/components/wd-*/index.scss | Cell/Input/Textarea 组件样式调整,必填星号样式从伪元素独立为专用类,支持左右位置切换。 |
| src/uni_modules/wot-design-uni/components/common/abstracts/variable.scss | 新增 `$-cell-required-margin` 变量,调整 `$-button-icon-fs` 默认值。 |
| src/subPages/*/Index.vue | 各演示页面新增带 `marker-side="after"` 的必填组件示例,相关变量与事件处理函数补充。 |
| tests/components/wd-*.test.ts | 各组件测试用例补充对 `markerSide` 属性的覆盖,断言星号位置及样式,修正原有必填星号相关断言。 |

## Sequence Diagram(s)

```mermaid
sequenceDiagram
    participant 用户
    participant 组件 (如 wd-input)
    participant wd-cell
    用户->>组件: 设置 required + marker-side="after"
    组件->>wd-cell: 传递 required, marker-side="after"
    wd-cell-->>组件: 渲染 label 及星号位置
    组件-->>用户: 展示星号在 label 右侧的必填项

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~18–25 minutes

Poem

🐰
星号左,星号右,
表单小兔跳一跳。
marker-side 新属性,
必填提示更灵巧。
样式调整齐步走,
测试文档都补好。
体验升级乐淘淘!
⭐️➡️✏️⬅️


<!-- walkthrough_end -->

<!-- announcements_start -->

> [!NOTE]
> <details open="true">
> <summary>⚡️ Unit Test Generation is now available in beta!</summary>
> 
> Learn more [here](https://docs.coderabbit.ai/finishing-touches/unit-test-generation), or try it out under "Finishing Touches" below.
> 
> </details>

<!-- announcements_end -->
<!-- internal state start -->


<!-- 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 -->

<!-- internal state end -->
<!-- finishing_touch_checkbox_start -->

<details>
<summary>✨ Finishing Touches</summary>

<details>
<summary>🧪 Generate unit tests</summary>

- [ ] <!-- {"checkboxId": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "radioGroupId": "utg-output-choice-group-unknown_comment_id"} -->   Create PR with unit tests
- [ ] <!-- {"checkboxId": "07f1e7d6-8a8e-4e23-9900-8731c2c87f58", "radioGroupId": "utg-output-choice-group-unknown_comment_id"} -->   Post copyable unit tests in a comment
- [ ] <!-- {"checkboxId": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", "radioGroupId": "utg-output-choice-group-unknown_comment_id"} -->   Commit unit tests in branch `feat/wd-cell-mark-side`

</details>

</details>

<!-- finishing_touch_checkbox_end -->
<!-- tips_start -->

---

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.

<details>
<summary>❤️ Share</summary>

- [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
- [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
- [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
- [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)

</details>

<details>
<summary>🪧 Tips</summary>

### Chat

There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai?utm_source=oss&utm_medium=github&utm_campaign=Moonofweisheng/wot-design-uni&utm_content=1181):

- 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](https://www.coderabbit.ai/contact-us/support) 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](https://docs.coderabbit.ai/finishing-touches/docstrings) for this PR.
- `@coderabbitai generate sequence diagram` to generate a sequence diagram of the changes in this PR.
- `@coderabbitai generate unit tests` to generate unit tests for 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](https://docs.coderabbit.ai/guides/configure-coderabbit) 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](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
- Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
- Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.

</details>

<!-- tips_end -->

@netlify

netlify Bot commented Jul 27, 2025 •

Copy link
Copy Markdown

✅ Deploy Preview for wot-design-uni ready!

Name Link
🔨 Latest commit fd2baec
🔍 Latest deploy log https://app.netlify.com/projects/wot-design-uni/deploys/68863ff3a102280008bcaacd
😎 Deploy Preview https://deploy-preview-1181--wot-design-uni.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@github-actions

Copy link
Copy Markdown
Contributor

组件测试摘要 (H5 平台)

测试时间: Sun Jul 27 14:06:02 UTC 2025

测试结果

组件 状态 覆盖率
wd-calendar ✅ 通过 83.54%
wd-cell ✅ 通过 94.41%
wd-col-picker ✅ 通过 86.1%
wd-datetime-picker ✅ 通过 81.81%
wd-input ✅ 通过 95.75%
wd-picker ✅ 通过 88.2%
wd-select-picker ✅ 通过 84.68%
wd-textarea ✅ 通过 91.64%

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 6

🧹 Nitpick comments (3)
src/locale/en-US.json (1)

71-71: 建议微调英文文案以提升可读性
“Required asterisk on the right” 语义虽能理解,但略显生硬。可改为 “Required asterisk on the right side” 以表达 “在右侧显示必填星号”,读起来更自然。

-"bi-tian-xing-hao-zai-you-ce": "Required asterisk on the right",
+"bi-tian-xing-hao-zai-you-ce": "Required asterisk on the right side",
src/uni_modules/wot-design-uni/components/wd-textarea/types.ts (1)

282-285: 注释与类型定义不一致

注释中提到的可选值是 left、right,但实际的类型定义使用的是 'before' | 'after'。请更新注释以保持一致性。

建议修改注释:

  /**
-  * 必填标记位置,可选值:left、right
+  * 必填标记位置,可选值:before、after
   */
src/subPages/cell/Index.vue (1)

145-146: 建议移除未使用的变量

rate2 变量被声明但未在模板中使用,建议移除以保持代码整洁。

const rate1 = ref(0)
-const rate2 = ref(0)
📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 5abc3b5 and 13bba52.

📒 Files selected for processing (54)
  • docs/component/calendar.md (1 hunks)
  • docs/component/cell.md (1 hunks)
  • docs/component/col-picker.md (1 hunks)
  • docs/component/datetime-picker.md (1 hunks)
  • docs/component/input.md (1 hunks)
  • docs/component/picker.md (1 hunks)
  • docs/component/select-picker.md (1 hunks)
  • docs/component/textarea.md (1 hunks)
  • docs/en-US/component/calendar.md (1 hunks)
  • docs/en-US/component/cell.md (1 hunks)
  • docs/en-US/component/col-picker.md (1 hunks)
  • docs/en-US/component/datetime-picker.md (1 hunks)
  • docs/en-US/component/input.md (1 hunks)
  • docs/en-US/component/picker.md (1 hunks)
  • docs/en-US/component/select-picker.md (1 hunks)
  • docs/en-US/component/textarea.md (1 hunks)
  • src/locale/en-US.json (1 hunks)
  • src/locale/zh-CN.json (1 hunks)
  • src/subPages/calendar/Index.vue (3 hunks)
  • src/subPages/cell/Index.vue (2 hunks)
  • src/subPages/colPicker/Index.vue (2 hunks)
  • src/subPages/datetimePicker/Index.vue (3 hunks)
  • src/subPages/input/Index.vue (2 hunks)
  • src/subPages/picker/Index.vue (2 hunks)
  • src/subPages/selectPicker/Index.vue (3 hunks)
  • src/subPages/textarea/Index.vue (2 hunks)
  • src/uni_modules/wot-design-uni/components/common/abstracts/variable.scss (2 hunks)
  • src/uni_modules/wot-design-uni/components/wd-calendar/types.ts (1 hunks)
  • src/uni_modules/wot-design-uni/components/wd-calendar/wd-calendar.vue (1 hunks)
  • src/uni_modules/wot-design-uni/components/wd-cell/index.scss (1 hunks)
  • src/uni_modules/wot-design-uni/components/wd-cell/types.ts (1 hunks)
  • src/uni_modules/wot-design-uni/components/wd-cell/wd-cell.vue (2 hunks)
  • src/uni_modules/wot-design-uni/components/wd-col-picker/types.ts (1 hunks)
  • src/uni_modules/wot-design-uni/components/wd-col-picker/wd-col-picker.vue (3 hunks)
  • src/uni_modules/wot-design-uni/components/wd-datetime-picker/types.ts (1 hunks)
  • src/uni_modules/wot-design-uni/components/wd-datetime-picker/wd-datetime-picker.vue (1 hunks)
  • src/uni_modules/wot-design-uni/components/wd-input/index.scss (1 hunks)
  • src/uni_modules/wot-design-uni/components/wd-input/types.ts (1 hunks)
  • src/uni_modules/wot-design-uni/components/wd-input/wd-input.vue (2 hunks)
  • src/uni_modules/wot-design-uni/components/wd-picker/types.ts (1 hunks)
  • src/uni_modules/wot-design-uni/components/wd-picker/wd-picker.vue (1 hunks)
  • src/uni_modules/wot-design-uni/components/wd-select-picker/types.ts (1 hunks)
  • src/uni_modules/wot-design-uni/components/wd-select-picker/wd-select-picker.vue (1 hunks)
  • src/uni_modules/wot-design-uni/components/wd-textarea/index.scss (1 hunks)
  • src/uni_modules/wot-design-uni/components/wd-textarea/types.ts (1 hunks)
  • src/uni_modules/wot-design-uni/components/wd-textarea/wd-textarea.vue (2 hunks)
  • tests/components/wd-calendar.test.ts (1 hunks)
  • tests/components/wd-cell.test.ts (4 hunks)
  • tests/components/wd-col-picker.test.ts (1 hunks)
  • tests/components/wd-datetime-picker.test.ts (1 hunks)
  • tests/components/wd-input.test.ts (3 hunks)
  • tests/components/wd-picker.test.ts (1 hunks)
  • tests/components/wd-select-picker.test.ts (1 hunks)
  • tests/components/wd-textarea.test.ts (1 hunks)
🧰 Additional context used
🧠 Learnings (35)
📓 Common learnings
Learnt from: Moonofweisheng
PR: Moonofweisheng/wot-design-uni#733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 `src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue` 中,由于 `title` 可能会发生变化,涉及到 `title` 的优化不太容易实现,需谨慎处理。
Learnt from: Moonofweisheng
PR: Moonofweisheng/wot-design-uni#534
File: docs/component/form.md:44-44
Timestamp: 2024-08-19T13:43:36.518Z
Learning: Moonofweisheng prefers addressing syntax errors such as missing quotation marks in the code.
src/uni_modules/wot-design-uni/components/wd-datetime-picker/wd-datetime-picker.vue (2)

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

Learnt from: Moonofweisheng
PR: #733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue 中,由于 title 可能会发生变化,涉及到 title 的优化不太容易实现,需谨慎处理。

src/uni_modules/wot-design-uni/components/wd-picker/wd-picker.vue (2)

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

Learnt from: Moonofweisheng
PR: #733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue 中,由于 title 可能会发生变化,涉及到 title 的优化不太容易实现,需谨慎处理。

src/uni_modules/wot-design-uni/components/wd-select-picker/wd-select-picker.vue (2)

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

Learnt from: Moonofweisheng
PR: #733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue 中,由于 title 可能会发生变化,涉及到 title 的优化不太容易实现,需谨慎处理。

docs/component/input.md (1)

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

src/uni_modules/wot-design-uni/components/wd-input/types.ts (1)

Learnt from: de1ck
PR: #845
File: src/uni_modules/wot-design-uni/components/wd-search/wd-search.vue:14-15
Timestamp: 2025-01-16T07:45:18.905Z
Learning: In uni-app's input component, the placeholder-class attribute only accepts string type in TypeScript, not array. Therefore, class names must be concatenated as strings rather than bound as arrays.

src/subPages/textarea/Index.vue (2)

Learnt from: Moonofweisheng
PR: #733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue 中,由于 title 可能会发生变化,涉及到 title 的优化不太容易实现,需谨慎处理。

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

tests/components/wd-picker.test.ts (1)

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

src/uni_modules/wot-design-uni/components/wd-calendar/wd-calendar.vue (1)

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

tests/components/wd-textarea.test.ts (1)

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

src/subPages/input/Index.vue (2)

Learnt from: Moonofweisheng
PR: #733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue 中,由于 title 可能会发生变化,涉及到 title 的优化不太容易实现,需谨慎处理。

Learnt from: chen-ziwen
PR: #909
File: docs/component/input-number.md:93-98
Timestamp: 2025-02-20T12:31:40.241Z
Learning: In the InputNumber component documentation, function naming should be consistent across all examples, using handleChange instead of variations like handleChange1.

src/subPages/datetimePicker/Index.vue (1)

Learnt from: Moonofweisheng
PR: #761
File: src/uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.vue:166-182
Timestamp: 2024-12-05T15:55:35.371Z
Learning: 在文件 wd-message-box.vue 的 toggleModal 方法中,当 isPass 为 false 时,应阻止执行 confirm,但不触发 cancel 操作。

tests/components/wd-col-picker.test.ts (1)

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

src/uni_modules/wot-design-uni/components/common/abstracts/variable.scss (1)

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

src/uni_modules/wot-design-uni/components/wd-input/index.scss (1)

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

tests/components/wd-select-picker.test.ts (1)

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

tests/components/wd-datetime-picker.test.ts (1)

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

src/uni_modules/wot-design-uni/components/wd-input/wd-input.vue (3)

Learnt from: Moonofweisheng
PR: #733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue 中,由于 title 可能会发生变化,涉及到 title 的优化不太容易实现,需谨慎处理。

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

Learnt from: de1ck
PR: #845
File: src/uni_modules/wot-design-uni/components/wd-search/wd-search.vue:14-15
Timestamp: 2025-01-16T07:45:18.905Z
Learning: In uni-app's input component, the placeholder-class attribute only accepts string type in TypeScript, not array. Therefore, class names must be concatenated as strings rather than bound as arrays.

tests/components/wd-calendar.test.ts (1)

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

docs/component/calendar.md (1)

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

src/subPages/selectPicker/Index.vue (2)

Learnt from: Moonofweisheng
PR: #733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue 中,由于 title 可能会发生变化,涉及到 title 的优化不太容易实现,需谨慎处理。

Learnt from: Moonofweisheng
PR: #761
File: src/uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.vue:166-182
Timestamp: 2024-12-05T15:55:35.371Z
Learning: 在文件 wd-message-box.vue 的 toggleModal 方法中,当 isPass 为 false 时,应阻止执行 confirm,但不触发 cancel 操作。

src/uni_modules/wot-design-uni/components/wd-cell/wd-cell.vue (3)

Learnt from: Moonofweisheng
PR: #733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue 中,由于 title 可能会发生变化,涉及到 title 的优化不太容易实现,需谨慎处理。

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

Learnt from: Moonofweisheng
PR: #1149
File: src/uni_modules/wot-design-uni/components/wd-transition/wd-transition.vue:2-14
Timestamp: 2025-07-06T03:59:35.266Z
Learning: 在 uni-app 框架中,不支持 Vue.js 的动态事件绑定语法,例如 v-bind="disableTouchMove ? { '@touchmove.stop.prevent': noop } : {}" 或条件事件绑定。因此在 uni-app 项目中,需要使用多个独立的元素来处理条件性的事件绑定,即使这会导致一些代码重复。

src/subPages/calendar/Index.vue (2)

Learnt from: Moonofweisheng
PR: #733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue 中,由于 title 可能会发生变化,涉及到 title 的优化不太容易实现,需谨慎处理。

Learnt from: Moonofweisheng
PR: #761
File: src/uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.vue:166-182
Timestamp: 2024-12-05T15:55:35.371Z
Learning: 在文件 wd-message-box.vue 的 toggleModal 方法中,当 isPass 为 false 时,应阻止执行 confirm,但不触发 cancel 操作。

src/subPages/cell/Index.vue (2)

Learnt from: Moonofweisheng
PR: #733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue 中,由于 title 可能会发生变化,涉及到 title 的优化不太容易实现,需谨慎处理。

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

src/uni_modules/wot-design-uni/components/wd-textarea/wd-textarea.vue (3)

Learnt from: Moonofweisheng
PR: #733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue 中,由于 title 可能会发生变化,涉及到 title 的优化不太容易实现,需谨慎处理。

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

Learnt from: de1ck
PR: #845
File: src/uni_modules/wot-design-uni/components/wd-search/wd-search.vue:14-15
Timestamp: 2025-01-16T07:45:18.905Z
Learning: In uni-app's input component, the placeholder-class attribute only accepts string type in TypeScript, not array. Therefore, class names must be concatenated as strings rather than bound as arrays.

docs/component/select-picker.md (1)

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

src/uni_modules/wot-design-uni/components/wd-textarea/index.scss (2)

Learnt from: Moonofweisheng
PR: #733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue 中,由于 title 可能会发生变化,涉及到 title 的优化不太容易实现,需谨慎处理。

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

src/subPages/picker/Index.vue (2)

Learnt from: Moonofweisheng
PR: #733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue 中,由于 title 可能会发生变化,涉及到 title 的优化不太容易实现,需谨慎处理。

Learnt from: Moonofweisheng
PR: #761
File: src/uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.vue:166-182
Timestamp: 2024-12-05T15:55:35.371Z
Learning: 在文件 wd-message-box.vue 的 toggleModal 方法中,当 isPass 为 false 时,应阻止执行 confirm,但不触发 cancel 操作。

docs/component/cell.md (2)

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

Learnt from: Moonofweisheng
PR: #733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue 中,由于 title 可能会发生变化,涉及到 title 的优化不太容易实现,需谨慎处理。

src/subPages/colPicker/Index.vue (3)

Learnt from: Moonofweisheng
PR: #733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue 中,由于 title 可能会发生变化,涉及到 title 的优化不太容易实现,需谨慎处理。

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

Learnt from: Moonofweisheng
PR: #761
File: src/uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.vue:166-182
Timestamp: 2024-12-05T15:55:35.371Z
Learning: 在文件 wd-message-box.vue 的 toggleModal 方法中,当 isPass 为 false 时,应阻止执行 confirm,但不触发 cancel 操作。

src/uni_modules/wot-design-uni/components/wd-cell/index.scss (1)

Learnt from: Moonofweisheng
PR: #733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue 中,由于 title 可能会发生变化,涉及到 title 的优化不太容易实现,需谨慎处理。

tests/components/wd-cell.test.ts (2)

Learnt from: Moonofweisheng
PR: #733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue 中,由于 title 可能会发生变化,涉及到 title 的优化不太容易实现,需谨慎处理。

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

tests/components/wd-input.test.ts (5)

Learnt from: Moonofweisheng
PR: #733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue 中,由于 title 可能会发生变化,涉及到 title 的优化不太容易实现,需谨慎处理。

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

Learnt from: Moonofweisheng
PR: #761
File: src/uni_modules/wot-design-uni/components/wd-message-box/wd-message-box.vue:166-182
Timestamp: 2024-12-05T15:55:35.371Z
Learning: 在文件 wd-message-box.vue 的 toggleModal 方法中,当 isPass 为 false 时,应阻止执行 confirm,但不触发 cancel 操作。

Learnt from: Moonofweisheng
PR: #748
File: src/uni_modules/wot-design-uni/components/wd-progress/wd-progress.vue:87-128
Timestamp: 2024-11-30T06:44:18.181Z
Learning: 在 src/uni_modules/wot-design-uni/components/wd-progress/wd-progress.vue 文件中,当 percentage 为 0 时,应通过 update 函数处理 percentage 为 0 的情况,而不需要在 updateProgress 函数中进行特殊处理。

Learnt from: Moonofweisheng
PR: #1149
File: src/uni_modules/wot-design-uni/components/wd-transition/wd-transition.vue:2-14
Timestamp: 2025-07-06T03:59:35.266Z
Learning: 在 uni-app 框架中,不支持 Vue.js 的动态事件绑定语法,例如 v-bind="disableTouchMove ? { '@touchmove.stop.prevent': noop } : {}" 或条件事件绑定。因此在 uni-app 项目中,需要使用多个独立的元素来处理条件性的事件绑定,即使这会导致一些代码重复。

src/uni_modules/wot-design-uni/components/wd-col-picker/wd-col-picker.vue (2)

Learnt from: Moonofweisheng
PR: #733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue 中,由于 title 可能会发生变化,涉及到 title 的优化不太容易实现,需谨慎处理。

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

src/uni_modules/wot-design-uni/components/wd-cell/types.ts (1)

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

🧬 Code Graph Analysis (2)
src/uni_modules/wot-design-uni/components/wd-textarea/types.ts (1)
src/uni_modules/wot-design-uni/components/wd-input/types.ts (1)
  • InputMode (13-13)
src/subPages/calendar/Index.vue (2)
src/uni_modules/wot-design-uni/components/wd-calendar-view/utils.ts (1)
  • function (208-208)
tests/components/wd-calendar-view.test.ts (1)
  • function (152-183)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
  • GitHub Check: Redirect rules - wot-design-uni
  • GitHub Check: Header rules - wot-design-uni
  • GitHub Check: Pages changed - wot-design-uni
  • GitHub Check: ESLint Check
  • GitHub Check: Cloudflare Pages
🔇 Additional comments (81)
src/uni_modules/wot-design-uni/components/common/abstracts/variable.scss (2)

152-152: 考虑响应式设计的影响

将按钮图标字体大小从相对单位 1.18em 改为绝对单位 18px 可能会影响响应式设计和可访问性。em 单位会根据父元素字体大小缩放,而 px 是固定值,不会随用户字体偏好或父元素变化而缩放。

请确认这个变更是否符合设计系统的要求。


207-207: 良好的设计系统实践

新增的 $-cell-required-margin 变量很好地支持了必填标记的统一间距管理,为 markerSide 功能提供了一致的设计标准。

src/uni_modules/wot-design-uni/components/wd-select-picker/wd-select-picker.vue (1)

21-21: 正确的属性传递实现

向 wd-cell 组件添加 :marker-side="markerSide" 属性绑定是正确的实现方式,确保了 markerSide 属性能够从选择器组件传递到底层的单元格组件,支持必填标记位置的灵活控制。

src/uni_modules/wot-design-uni/components/wd-picker/wd-picker.vue (1)

25-25: 一致的实现模式

与 wd-select-picker 组件一样,正确地向 wd-cell 组件添加了 :marker-side="markerSide" 属性绑定。这种一致的实现模式确保了所有使用 wd-cell 的选择器组件都能支持必填标记位置控制功能。

src/uni_modules/wot-design-uni/components/wd-datetime-picker/wd-datetime-picker.vue (1)

19-19: 实现正确,符合功能要求

正确地将 markerSide 属性传递给 wd-cell 组件,实现了必填星号位置控制功能。属性绑定语法规范,符合 Vue 模板约定。

src/uni_modules/wot-design-uni/components/wd-calendar/wd-calendar.vue (1)

22-22: 实现一致且正确

与 wd-datetime-picker 组件保持一致的实现方式,正确地将 markerSide 属性传递给 wd-cell 组件。确保了组件库中必填星号位置控制功能的统一性。

src/locale/zh-CN.json (1)

71-71: 本地化条目添加合理

新增的国际化键值对 "bi-tian-xing-hao-zai-you-ce": "必填星号在右" 支持新的 marker-side 功能展示。键名遵循项目拼音命名规范,翻译准确清晰,按字母顺序正确插入。

docs/component/textarea.md (1)

157-157: 文档默认值与实际代码不一致

文档中 marker-side 属性的默认值显示为 after,但根据其他文件的类型定义,实际默认值应该是 before。请确保文档与代码实现保持一致。

Likely an incorrect or invalid review comment.

docs/en-US/component/calendar.md (1)

200-200: 文档默认值可能与实际代码不一致

文档中 marker-side 属性的默认值显示为 'after',但根据类型定义文件,实际默认值应该是 'before'。请验证并确保文档与代码实现保持一致。

Likely an incorrect or invalid review comment.

src/uni_modules/wot-design-uni/components/wd-calendar/types.ts (1)

189-192: 类型定义正确实现

markerSide 属性的类型定义实现正确,包括适当的类型约束、默认值和文档注释。

docs/en-US/component/input.md (1)

245-245: 请验证默认值是否正确

文档中 marker-side 的默认值显示为 'after',但根据 PR 描述,为了保持向后兼容性,默认值应该是 'before'(标记在左侧)。请确认此处的默认值设置是否正确。

docs/en-US/component/picker.md (1)

261-261: 请验证默认值是否正确

与 Input 组件文档相同,此处 marker-side 的默认值显示为 'after',但根据 PR 描述应该是 'before' 以保持向后兼容性。请确认此处的默认值设置是否正确。

src/subPages/picker/Index.vue (2)

16-16: 实现正确

新增的 marker-side="after" 示例正确演示了必填标记在右侧的用法,与功能需求一致。


167-167: 变量声明正确

为新示例添加的响应式变量 value16 声明正确,遵循了文件中现有的代码模式。

src/uni_modules/wot-design-uni/components/wd-select-picker/types.ts (1)

105-108: 类型定义正确

markerSide 属性的类型定义正确,默认值为 'before' 符合向后兼容性要求。这与文档中显示的默认值 'after' 不一致,建议统一。

src/uni_modules/wot-design-uni/components/wd-picker/types.ts (1)

161-164: 类型定义正确且一致

markerSide 属性的类型定义正确,默认值为 'before' 与 select-picker 组件保持一致,符合向后兼容性要求。但需要与文档中的默认值保持一致。

docs/component/col-picker.md (1)

641-641: 文档更新正确

marker-side 属性的文档添加符合规范,中文描述准确,参数类型和默认值设置合理。

docs/en-US/component/textarea.md (1)

155-155: 文档更新符合规范

marker-side 属性的英文文档添加正确,格式规范,与其他组件保持一致。

src/uni_modules/wot-design-uni/components/wd-input/types.ts (1)

182-182: 代码格式正确

添加尾随逗号符合 TypeScript 编码规范。

docs/component/calendar.md (1)

428-428: 文档更新正确

日历组件的 marker-side 属性文档添加规范,中文描述准确,与其他组件文档保持一致。

docs/component/datetime-picker.md (1)

310-310: LGTM! 文档更新正确

新增的 marker-side 属性文档符合预期,属性说明、类型、可选值和默认值都正确标注。版本占位符 $LOWEST_VERSION$ 也符合项目规范。

src/subPages/input/Index.vue (2)

75-83: LGTM! 示例代码实现正确

新增的必填星号在右侧的输入框示例实现正确,正确使用了 marker-side="after" 属性,并配置了相应的 v-model 绑定和事件处理。


154-154: LGTM! 响应式变量声明正确

为新增的输入框示例正确声明了 value23 响应式变量。

docs/component/picker.md (1)

263-263: LGTM! Picker 组件文档更新正确

新增的 marker-side 属性文档格式正确,属性说明、类型、可选值和默认值都符合规范。与其他组件保持一致性。

docs/component/select-picker.md (1)

345-345: LGTM! SelectPicker 组件文档更新正确

新增的 marker-side 属性文档完整准确,属性描述、类型定义、可选值和默认值都正确标注,与其他组件文档保持一致。

src/uni_modules/wot-design-uni/components/wd-cell/types.ts (1)

100-104: LGTM! TypeScript 类型定义正确

新增的 markerSide 属性类型定义实现正确:

  • 使用了正确的 TypeScript 联合类型 'before' | 'after'
  • 默认值设为 'before' 符合向后兼容性要求
  • JSDoc 注释完整准确
  • 遵循了项目中 prop 定义的一致性模式
src/uni_modules/wot-design-uni/components/wd-datetime-picker/types.ts (1)

195-200: 默认值一致已验证

markerSide 属性在以下所有组件中均默认为 'before',一致性确认,无需修改或额外操作:

  • src/uni_modules/wot-design-uni/components/wd-textarea/types.ts
  • src/uni_modules/wot-design-uni/components/wd-select-picker/types.ts
  • src/uni_modules/wot-design-uni/components/wd-picker/types.ts
  • src/uni_modules/wot-design-uni/components/wd-input/types.ts
  • src/uni_modules/wot-design-uni/components/wd-datetime-picker/types.ts
  • src/uni_modules/wot-design-uni/components/wd-cell/types.ts
  • src/uni_modules/wot-design-uni/components/wd-calendar/types.ts
  • src/uni_modules/wot-design-uni/components/wd-col-picker/types.ts

批准合并。

src/subPages/textarea/Index.vue (2)

40-47: 示例用法正确

新增的 wd-textarea 组件正确演示了 marker-side="after" 属性的用法,与现有代码风格保持一致,使用了适当的国际化翻译键。


126-126: 响应式数据绑定正确

为新的 textarea 组件正确添加了 value16 响应式引用,类型声明准确。

src/uni_modules/wot-design-uni/components/wd-col-picker/types.ts (1)

139-143: 类型定义一致且正确

markerSide 属性的添加与其他组件保持一致,类型约束、默认值和文档注释都符合规范。尾随逗号的添加也提高了代码的可维护性。

tests/components/wd-datetime-picker.test.ts (1)

742-798: 测试实现良好,覆盖全面

这三个新增的测试用例很好地覆盖了 markerSide 属性的各种情况:

  • 明确设置为 'before' 和 'after'
  • 验证默认值行为
  • 确保属性正确传递给嵌套的 wd-cell 组件

测试模式一致且实现正确。

tests/components/wd-picker.test.ts (1)

267-308: 测试实现一致且正确

测试用例与其他组件保持一致的模式,正确验证了:

  • 属性值的设置和获取
  • 属性向嵌套 wd-cell 组件的传递
  • 默认值行为

实现质量良好。

src/subPages/colPicker/Index.vue (2)

22-29: 演示实现正确

新增的演示用例很好地展示了 marker-side="after" 功能,与页面中其他演示保持一致的模式。


104-104: 响应式变量声明正确

为新演示用例正确添加了对应的响应式变量 value16。

tests/components/wd-textarea.test.ts (1)

151-196: 测试实现针对组件特点设计合理

与其他组件不同,wd-textarea 组件直接渲染必填标记而不使用嵌套的 wd-cell 组件,因此测试方法也相应调整:

  • 检查 CSS 类名 (.wd-textarea__required--left) 来验证位置
  • 验证标记元素的文本内容

这种测试方法符合组件的实际实现方式,测试覆盖全面。

src/uni_modules/wot-design-uni/components/wd-input/wd-input.vue (4)

4-4: 必填标记位置控制实现正确

条件渲染逻辑正确,通过 markerSide === 'before' 控制必填星号在标签前显示。CSS 类名 wd-input__required--left 用于左侧定位。


10-11: 标签渲染逻辑优化合理

将标签渲染从 <template> 改为 <text> 标签,并使用 v-else-if 优化条件判断,提高了代码的语义化和可读性。


13-13: 后置必填标记实现正确

通过 markerSide === 'after' 控制必填星号在标签后显示,使用标准的 wd-input__required 类名。


204-204: labelClass 简化合理

移除了 is-required 类的条件添加逻辑是正确的,因为必填标记现在通过专用的 <text> 元素和对应的 CSS 类来处理,避免了样式冲突。

src/subPages/calendar/Index.vue (3)

50-50: 新功能演示实现正确

新增的日历组件正确演示了 marker-side="after" 功能,使用了本地化标签,绑定了相应的数据和事件处理函数。


99-99: 响应式数据定义正确

value18 定义为 number 类型并初始化为当前时间戳,与日历组件的数据格式要求一致。


207-209: 事件处理函数实现合理

handleConfirm6 函数实现简洁,通过控制台输出确认值,符合演示页面的调试需求。

tests/components/wd-select-picker.test.ts (3)

227-243: markerSide 'before' 测试用例实现正确

测试用例正确验证了 markerSide 设置为 'before' 时的行为,包括组件自身的 prop 值和传递给子组件 wd-cell 的 prop 值。


245-261: markerSide 'after' 测试用例实现正确

测试用例正确验证了 markerSide 设置为 'after' 时的行为,确保 prop 正确传递到嵌套的 wd-cell 组件。


263-279: 默认值测试用例实现正确

测试用例正确验证了未指定 markerSide 时的默认行为,确认默认值为 'before',保证了向后兼容性。

tests/components/wd-calendar.test.ts (3)

612-637: markerSide 'before' 测试用例实现完整

测试用例正确使用了 nextTick() 等待 DOM 更新,并验证了 markerSide 属性在组件和子组件间的正确传递。


639-664: markerSide 'after' 测试用例实现正确

测试用例结构合理,正确验证了 'after' 值的设置和传递,确保必填标记显示在标签右侧。


666-691: 默认值测试覆盖完整

测试用例正确验证了 markerSide 的默认行为,确保在未指定该属性时默认为 'before',维护向后兼容性。

src/subPages/datetimePicker/Index.vue (3)

18-18: 新功能演示实现正确

新增的日期时间选择器正确演示了 marker-side="after" 功能,配置了必填属性和本地化标签,绑定了相应的数据和事件处理器。


114-114: 响应式数据类型正确

value20 定义为 number 类型并初始化为当前时间戳,与日期时间选择器组件的数据类型要求匹配。


232-234: 事件处理函数简洁有效

handleConfirm20 函数实现简单明了,通过控制台输出确认值,适合演示页面的调试和验证需求。

tests/components/wd-col-picker.test.ts (3)

319-334: 测试用例实现正确

markerSide 属性设置为 'before' 的测试用例实现得很好,正确验证了属性值的设置和向内部 wd-cell 组件的传递。


336-350: 测试用例实现正确

markerSide 属性设置为 'after' 的测试用例实现得很好,与 'before' 测试保持了一致的结构和验证逻辑。


352-366: 默认值测试实现正确

默认值测试正确验证了当未显式设置 markerSide 属性时,组件使用 'before' 作为默认值,并正确传递给内部的 wd-cell 组件。

src/subPages/cell/Index.vue (2)

74-76: 新增必填星号在右侧的示例

新增的评分组件展示了 marker-side="after" 属性的正确用法,很好地演示了必填星号在右侧显示的效果。


77-77: 现有组件正确更新

现有的垂直布局单元格正确添加了 marker-side="after" 属性,保持了示例的一致性。

src/subPages/selectPicker/Index.vue (3)

23-30: 新增选择器示例实现正确

新增的选择器组件正确使用了 marker-side="after" 属性,展示了必填星号在右侧的效果。组件配置符合既定模式,包括必填状态、数据绑定和事件处理。


172-172: 响应式变量声明正确

新增的 value21 变量类型声明正确,初始值设置合理,符合组件使用需求。


258-260: 事件处理函数实现正确

handleConfirm21 函数实现简洁,与文件中其他确认处理函数保持一致的结构和命名模式。

src/uni_modules/wot-design-uni/components/wd-textarea/index.scss (1)

113-122: 必填标记样式重构实现正确

新增的 .wd-textarea__required 元素样式实现得很好:

  • 正确设置了字体大小、颜色和边距
  • 提供了 .left 修饰符用于左侧对齐时的边距调整
  • 样式定义清晰,与其他表单组件保持一致

这种将必填标记从伪元素改为独立元素的重构支持了 markerSide 属性的灵活定位需求。

src/uni_modules/wot-design-uni/components/wd-cell/index.scss (1)

100-109: 必填标记样式重构实现正确

新增的 .wd-cell__required 元素样式实现得很好:

  • 正确定义了字体大小、颜色和边距属性
  • 提供了 .left 修饰符用于标记在标题前方时的边距调整
  • 样式实现与 textarea 组件保持一致,确保了组件库的设计统一性

这种样式重构很好地支持了 markerSide 属性的灵活定位功能。

src/uni_modules/wot-design-uni/components/wd-input/index.scss (1)

113-122: LGTM! SCSS样式变更符合新功能需求

新增的 .wd-input__required 样式块正确实现了必填标记的样式定义,支持通过 markerSide 属性控制必填星号的位置。样式使用了统一的SCSS变量,确保了主题一致性,并且 .left 修饰符正确处理了左侧对齐时的边距调整。

src/uni_modules/wot-design-uni/components/wd-cell/wd-cell.vue (3)

10-11: 模板结构调整正确实现markerSide功能

移除了 .wd-cell__left 上的条件 is-required 类,改为独立的必填标记元素。当 markerSide === 'before' 时,必填星号正确渲染在标题前,并应用了 wd-cell__required--left 类用于样式定位。


19-20: 插槽渲染和标题元素优化合理

插槽渲染语法调整将 name="title" 属性放在 v-if 指令之后,符合Vue模板最佳实践。标题从 <view> 元素改为 <text> 元素更符合语义化要求。


30-30: 必填标记后置渲染逻辑正确

当 markerSide === 'after' 时,必填星号正确渲染在标题后方,使用基础的 wd-cell__required 类,实现了灵活的必填标记位置控制。

src/uni_modules/wot-design-uni/components/wd-textarea/wd-textarea.vue (4)

3-4: 标签样式和必填标记渲染逻辑正确

将标签类名改为固定的 "wd-textarea__label",同时添加了条件渲染的必填标记。当 markerSide === 'before' 时,必填星号正确显示在标签前方并应用 wd-textarea__required--left 类。


11-11: 插槽渲染条件优化合理

使用 v-else-if="$slots.label" 确保只有在插槽存在时才渲染,避免了不必要的回退渲染,提高了模板逻辑的准确性。


13-13: 必填标记后置位置实现正确

当 markerSide === 'after' 时,必填星号正确渲染在标签后方,使用基础的 wd-textarea__required 类,完善了markerSide功能的实现。


198-198: 计算属性简化合理

移除了 labelClass 中条件添加 "is-required" 类的逻辑,因为必填标记现在作为独立元素渲染,简化了样式逻辑并提高了代码可维护性。

tests/components/wd-cell.test.ts (4)

237-240: 测试断言更新正确反映新的DOM结构

将必填状态的测试从检查 is-required 类改为检查独立的 .wd-cell__required--left 元素及其文本内容,正确反映了新的模板结构变化。


274-277: 表单验证规则测试保持一致性

在表单验证规则测试中也相应更新了断言逻辑,确保测试覆盖的一致性和准确性。


370-374: 选择器更新匹配模板变化

将标题元素选择器从 .wd-cell__title 更新为 .wd-cell__title text,正确对应了模板中标题从 <view> 改为 <text> 元素的变化。


470-530: markerSide功能测试覆盖完整

新增的三个测试用例全面覆盖了markerSide属性的各种场景:

  • 'before' 值时必填标记在前方且有 --left 类
  • 'after' 值时必填标记在后方且无 --left 类
  • 默认值为 'before' 的行为验证

测试逻辑清晰,断言准确,确保了新功能的正确性。

docs/en-US/component/col-picker.md (2)

94-130: 文档扩展全面且marker-side属性文档化正确

文档从简单示例扩展为完整的API参考,结构清晰且内容详尽。新增的 marker-side 属性文档正确定义了类型(string)、可选值(before / after)、默认值(after)和版本占位符,与其他组件的文档保持一致。


131-176: API参考文档结构完善

新增的FormItemRule数据结构说明、Option数据结构、Events、Methods、Slots和External Style Classes等章节提供了完整的API参考,帮助开发者全面了解组件的使用方法和配置选项。

src/uni_modules/wot-design-uni/components/wd-col-picker/wd-col-picker.vue (3)

7-7: LGTM! 简化了必填状态的处理

将 :required 绑定从计算属性 isRequired 改为直接使用 required prop,这简化了组件的逻辑并移除了对表单上下文的依赖。


20-20: LGTM! 正确添加了 markerSide 属性支持

新增的 :marker-side="markerSide" 属性传递到 wd-cell 组件,与 PR 目标一致,用于控制必填标记的位置。


105-105: LGTM! 清理了未使用的导入

移除了 nextTick 导入,这是合理的清理,因为代码中不再需要这个函数。同时移除了表单相关的导入也符合简化组件逻辑的目标。

tests/components/wd-input.test.ts (3)

5-5: LGTM! 改进了 TypeScript 导入

使用 type 修饰符导入类型是 TypeScript 的最佳实践,有助于明确区分类型和值的导入。


364-366: LGTM! 更新了必填状态测试以匹配新实现

测试现在检查 .wd-input__required--left 类而不是 is-required 类,这与新的必填标记实现方式一致。


531-576: LGTM! 完善的 markerSide 属性测试覆盖

新增的测试用例全面覆盖了 markerSide 属性的所有场景:

  • 'before' 值:验证星号出现在标签前面,使用 .wd-input__required--left 类
  • 'after' 值:验证星号出现在标签后面,使用 .wd-input__required 类但没有 --left 修饰符
  • 默认值:验证默认为 'before' 行为

测试断言既检查了 CSS 类的存在性,也验证了星号文本内容,确保功能正确性。

Comment thread docs/component/cell.md Outdated
Comment thread docs/component/input.md Outdated
Comment thread docs/en-US/component/cell.md Outdated
Comment thread docs/en-US/component/datetime-picker.md Outdated
Comment thread docs/en-US/component/select-picker.md Outdated
Comment thread src/uni_modules/wot-design-uni/components/wd-input/types.ts
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 27, 2025 •

Copy link
Copy Markdown

Deploying wot-design-uni with  Cloudflare Pages  Cloudflare Pages

Latest commit: fd2baec
Status: ✅  Deploy successful!
Preview URL: https://b9db0475.wot-design-uni.pages.dev
Branch Preview URL: https://feat-wd-cell-mark-side.wot-design-uni.pages.dev

View logs

@github-actions

Copy link
Copy Markdown
Contributor

组件测试摘要 (H5 平台)

测试时间: Sun Jul 27 14:41:39 UTC 2025

测试结果

组件 状态 覆盖率
wd-calendar ✅ 通过 83.54%
wd-cell ✅ 通过 94.41%
wd-col-picker ✅ 通过 86.1%
wd-datetime-picker ✅ 通过 81.81%
wd-input ✅ 通过 95.75%
wd-picker ✅ 通过 88.2%
wd-select-picker ✅ 通过 84.68%
wd-textarea ✅ 通过 91.64%

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (2)
docs/en-US/component/col-picker.md (2)

114-115: marker-side 行文案与格式可再完善

  1. “Options” 列推荐统一使用反引号包裹并用 | 分隔,示例:`'before' | 'after'`,与其他组件文档保持一致。
  2. Version 建议直接写实际版本号(如 1.15.0),避免占位符 $LOWEST_VERSION$ 遗留到正式文档。
-| marker-side | Position of the required marker | string | before / after | before | $LOWEST_VERSION$ |
+| marker-side | Position of the required marker | string | `'before' \| 'after'` | before | 1.15.0 |

94-132: 属性表缺少必要示例,建议补充 marker-side 用法

新增属性虽在表格中列出,但正文未示范如何使用。可在 Basic Usage 或单独小节增加示例,便于用户快速理解。

示例:

<!-- 右侧星号 -->
<wd-col-picker label="Address" required marker-side="after" />
📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 13bba52 and a760fe4.

📒 Files selected for processing (19)
  • docs/component/calendar.md (1 hunks)
  • docs/component/cell.md (1 hunks)
  • docs/component/col-picker.md (1 hunks)
  • docs/component/datetime-picker.md (1 hunks)
  • docs/component/input.md (1 hunks)
  • docs/component/picker.md (1 hunks)
  • docs/component/select-picker.md (1 hunks)
  • docs/component/textarea.md (1 hunks)
  • docs/en-US/component/calendar.md (1 hunks)
  • docs/en-US/component/cell.md (1 hunks)
  • docs/en-US/component/col-picker.md (1 hunks)
  • docs/en-US/component/datetime-picker.md (1 hunks)
  • docs/en-US/component/input.md (1 hunks)
  • docs/en-US/component/picker.md (1 hunks)
  • docs/en-US/component/select-picker.md (1 hunks)
  • docs/en-US/component/textarea.md (1 hunks)
  • src/uni_modules/wot-design-uni/components/wd-cell/types.ts (1 hunks)
  • src/uni_modules/wot-design-uni/components/wd-input/types.ts (1 hunks)
  • src/uni_modules/wot-design-uni/components/wd-textarea/types.ts (1 hunks)
✅ Files skipped from review due to trivial changes (3)
  • docs/component/datetime-picker.md
  • docs/component/select-picker.md
  • docs/component/textarea.md
🚧 Files skipped from review as they are similar to previous changes (15)
  • docs/en-US/component/textarea.md
  • docs/en-US/component/calendar.md
  • docs/en-US/component/picker.md
  • docs/component/input.md
  • docs/en-US/component/input.md
  • docs/component/col-picker.md
  • docs/en-US/component/select-picker.md
  • docs/en-US/component/datetime-picker.md
  • docs/component/picker.md
  • docs/component/calendar.md
  • docs/component/cell.md
  • docs/en-US/component/cell.md
  • src/uni_modules/wot-design-uni/components/wd-input/types.ts
  • src/uni_modules/wot-design-uni/components/wd-cell/types.ts
  • src/uni_modules/wot-design-uni/components/wd-textarea/types.ts
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: Moonofweisheng
PR: Moonofweisheng/wot-design-uni#733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 `src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue` 中,由于 `title` 可能会发生变化,涉及到 `title` 的优化不太容易实现,需谨慎处理。
Learnt from: Moonofweisheng
PR: Moonofweisheng/wot-design-uni#534
File: docs/component/form.md:44-44
Timestamp: 2024-08-19T13:43:36.518Z
Learning: Moonofweisheng prefers addressing syntax errors such as missing quotation marks in the code.
🪛 markdownlint-cli2 (0.17.2)
docs/en-US/component/col-picker.md

176-176: Table pipe style
Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe

(MD055, table-pipe-style)


176-176: Table column count
Expected: 3; Actual: 4; Too many cells, extra data will be missing

(MD056, table-column-count)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (10)
  • GitHub Check: Test Components (wd-select-picker)
  • GitHub Check: Test Components (wd-col-picker)
  • GitHub Check: Test Components (wd-picker)
  • GitHub Check: Test Components (wd-textarea)
  • GitHub Check: Test Components (wd-datetime-picker)
  • GitHub Check: Test Components (wd-calendar)
  • GitHub Check: Test Components (wd-input)
  • GitHub Check: Test Components (wd-cell)
  • GitHub Check: Test Components (common)
  • GitHub Check: Cloudflare Pages

Comment thread docs/en-US/component/col-picker.md Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

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 (2)
docs/en-US/component/col-picker.md (2)

160-166: 示例代码缺少 toast 引入说明

文档示例直接调用 toast.error(...),但未向读者展示如何获取/引入 toast 实例。初学者照搬会报 toast is not defined。建议在代码块顶端补一句注释或示例导入,说明来自 wd-toast 组件或全局挂载。


200-227: 避免在示例中使用非空断言 !

示例多处使用 findChildrenByCode(...)! 强制断言结果非 null,一旦数据不符将导致运行时异常。教学示例更适合展示安全写法,例如:

-  findChildrenByCode(colPickerData, '110000')!.map((item) => {
+  const cityList = findChildrenByCode(colPickerData, '110000') || []
+  cityList.map((item) => {

这样既保持简洁,又不会误导读者滥用 !。

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between a760fe4 and fd2baec.

📒 Files selected for processing (1)
  • docs/en-US/component/col-picker.md (2 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: Moonofweisheng
PR: Moonofweisheng/wot-design-uni#733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 `src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue` 中,由于 `title` 可能会发生变化,涉及到 `title` 的优化不太容易实现,需谨慎处理。
Learnt from: Moonofweisheng
PR: Moonofweisheng/wot-design-uni#534
File: docs/component/form.md:44-44
Timestamp: 2024-08-19T13:43:36.518Z
Learning: Moonofweisheng prefers addressing syntax errors such as missing quotation marks in the code.
docs/en-US/component/col-picker.md (2)

Learnt from: Moonofweisheng
PR: #733
File: src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue:327-327
Timestamp: 2024-11-24T06:12:44.418Z
Learning: 在 src/uni_modules/wot-design-uni/components/wd-tabs/wd-tabs.vue 中,由于 title 可能会发生变化,涉及到 title 的优化不太容易实现,需谨慎处理。

Learnt from: Moonofweisheng
PR: #737
File: src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue:25-25
Timestamp: 2024-11-26T02:35:53.123Z
Learning: 在 wd-divider.vue 文件(路径:src/uni_modules/wot-design-uni/components/wd-divider/wd-divider.vue)中,props.customStyle 是字符串类型,用于传递自定义的样式字符串。

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (10)
  • GitHub Check: Test Components (wd-textarea)
  • GitHub Check: Test Components (wd-select-picker)
  • GitHub Check: Test Components (wd-picker)
  • GitHub Check: Test Components (wd-calendar)
  • GitHub Check: Test Components (wd-input)
  • GitHub Check: Test Components (wd-datetime-picker)
  • GitHub Check: Test Components (wd-cell)
  • GitHub Check: Test Components (wd-col-picker)
  • GitHub Check: Test Components (common)
  • GitHub Check: Cloudflare Pages
🔇 Additional comments (1)
docs/en-US/component/col-picker.md (1)

493-494: 请确认 $LOWEST_VERSION$ 占位符已替换

属性表中的默认版本仍为 $LOWEST_VERSION$,发布前应替换为实际最小支持版本号,否则生成站点会直接显示占位符。

@github-actions

Copy link
Copy Markdown
Contributor

组件测试摘要 (H5 平台)

测试时间: Sun Jul 27 15:06:45 UTC 2025

测试结果

组件 状态 覆盖率
wd-calendar ✅ 通过 83.54%
wd-cell ✅ 通过 94.41%
wd-col-picker ✅ 通过 86.1%
wd-datetime-picker ✅ 通过 81.81%
wd-input ✅ 通过 95.75%
wd-picker ✅ 通过 88.2%
wd-select-picker ✅ 通过 84.68%
wd-textarea ✅ 通过 91.64%

@Moonofweisheng
Moonofweisheng merged commit cade06f into master Jul 28, 2025
@Moonofweisheng
Moonofweisheng deleted the feat/wd-cell-mark-side branch July 28, 2025 05:21

This branch was successfully deployed

1 active deployment
Preview — fd2baecb Deployed Jul 27, 2025 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[新功能需求] Form 表单校验时星号(*)位置

1 participant