forked from mengyxu/noob-components
Browse Source
- Observe miniTableRef instead of container to detect actual height changes - Track height changes and skip re-probing when height unchanged - Add IntersectionObserver to detach ResizeObserver for off-screen tables - Add display:none (via .is-hidden class) for off-screen mini-tables - Re-attach and remeasure when table becomes visible Performance improvements: - Window resize is now smooth with 14 tables on demo page - Off-screen tables have no ResizeObserver overhead - Mini-tables are fully removed from layout when off-screen Also: - Add oxlint as linting tool (replaces vue-cli-service lint) - Add oxlintrc.json configuration Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>dev
5 changed files with 138 additions and 6 deletions
@ -0,0 +1,44 @@
@@ -0,0 +1,44 @@
|
||||
{ |
||||
"id": "list-table-v2-resize-perf", |
||||
"name": "list-table-v2-resize-perf", |
||||
"title": "Optimize list-table-v2 resize performance", |
||||
"description": "", |
||||
"status": "planning", |
||||
"dev_type": null, |
||||
"scope": null, |
||||
"priority": "P2", |
||||
"creator": "hechang27-sprt", |
||||
"assignee": "hechang27-sprt", |
||||
"createdAt": "2026-03-31", |
||||
"completedAt": null, |
||||
"branch": null, |
||||
"base_branch": "dev", |
||||
"worktree_path": null, |
||||
"current_phase": 0, |
||||
"next_action": [ |
||||
{ |
||||
"phase": 1, |
||||
"action": "implement" |
||||
}, |
||||
{ |
||||
"phase": 2, |
||||
"action": "check" |
||||
}, |
||||
{ |
||||
"phase": 3, |
||||
"action": "finish" |
||||
}, |
||||
{ |
||||
"phase": 4, |
||||
"action": "create-pr" |
||||
} |
||||
], |
||||
"commit": null, |
||||
"pr_url": null, |
||||
"subtasks": [], |
||||
"children": [], |
||||
"parent": null, |
||||
"relatedFiles": [], |
||||
"notes": "", |
||||
"meta": {} |
||||
} |
||||
@ -0,0 +1,29 @@
@@ -0,0 +1,29 @@
|
||||
{ |
||||
"$schema": "https://oxc.rs/schema/config.json", |
||||
"rules": { |
||||
"no-console": "warn", |
||||
"no-debugger": "warn", |
||||
"no-unused-vars": "warn", |
||||
"no-throw-literal": "error", |
||||
"prefer-const": "warn", |
||||
"no-var": "error" |
||||
}, |
||||
"settings": { |
||||
"jsx": "react" |
||||
}, |
||||
"include": [ |
||||
"packages/**/*.ts", |
||||
"packages/**/*.tsx", |
||||
"packages/**/*.vue", |
||||
"plugs/**/*.ts", |
||||
"plugs/**/*.tsx", |
||||
"examples/**/*.ts", |
||||
"examples/**/*.tsx", |
||||
"examples/**/*.vue" |
||||
], |
||||
"exclude": [ |
||||
"node_modules/**", |
||||
"dist/**", |
||||
"**/*.min.js" |
||||
] |
||||
} |
||||
Loading…
Reference in new issue