dify - 💡(How to fix) Fix Migrate multi-checkbox lists to CheckboxGroup

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
RAW_BUFFERClick to expand / collapse

Goal

Migrate the remaining multi-checkbox list patterns to @langgenius/dify-ui/checkbox-group.

Keep this scoped to array-backed checkbox groups. Single boolean checkboxes should be migrated separately to @langgenius/dify-ui/checkbox, not included here.

Required targets

  • web/app/components/app/annotation/list.tsx

    • selectedIds: string[]
    • Header parent checkbox + row checkboxes.
  • web/app/components/datasets/documents/components/list.tsx

  • web/app/components/datasets/documents/components/document-list/components/document-table-row.tsx

    • selectedIds: string[]
    • Table header parent checkbox + row checkboxes.
  • web/app/components/datasets/documents/detail/completed/components/menu-bar.tsx

  • web/app/components/datasets/documents/detail/completed/segment-list.tsx

    • selectedSegmentIds: string[]
    • Toolbar parent checkbox + segment checkboxes.
  • web/app/components/plugins/plugin-page/filter-management/category-filter.tsx

  • web/app/components/plugins/plugin-page/filter-management/tag-filter.tsx

  • web/app/components/plugins/marketplace/search-box/tags-filter.tsx

  • web/app/components/tools/labels/selector.tsx

    • Popover multi-select checkbox lists backed by string arrays.

Expected pattern

Use the same pattern established in web/app/components/base/checkbox-list/index.tsx:

  • CheckboxGroup value={value} onValueChange={...} owns the selected string array.
  • allValues is provided when there is a parent checkbox.
  • Parent checkbox uses <Checkbox parent />.
  • Child checkboxes use <Checkbox value={item.id} /> or the equivalent stable string value.
  • Option text should label the checkbox via a wrapping <label> when possible.
  • Avoid reimplementing checked, indeterminate, select-all, and item-toggle state machines in app code.

Out of scope

  • Single boolean checkboxes.
  • Object-array selection flows that need a separate value normalization decision.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

dify - 💡(How to fix) Fix Migrate multi-checkbox lists to CheckboxGroup