从零实现一个带虚拟滚动的 Select
从零实现一个带虚拟滚动的 Select:原理、踩坑与 el-select-v2 对比 面试时被问"你封装过什么组件",只会答"封装过 table、form"是不够的。 这篇文章记录一个真正能体现高级前端水准的作品:带虚拟滚动的下拉选择器。 …
前端框架、工程化、性能优化、跨端开发
从零实现一个带虚拟滚动的 Select:原理、踩坑与 el-select-v2 对比 面试时被问"你封装过什么组件",只会答"封装过 table、form"是不够的。 这篇文章记录一个真正能体现高级前端水准的作品:带虚拟滚动的下拉选择器。 …
在现代前端开发中,由于浏览器受到 同源策略(Same-Origin Policy) 的限制,前端请求不同源的后端接口时,经常会遇到跨域问题。 在开发阶段,一个非常常见的解决方案,就是通过 Vite、Webpack Dev Server 等本…
> 前一讲把 RAG 讲完了,这一讲专门讲前端工程化。核心内容:Pinia 双 Store 怎么分、并发刷新的"单飞+排队"模式(第 3 讲讲过设计,这讲补全实现)、Markdown 渲染让版式起飞的坑、以及 RBAC 权限的前端实现。 项…
源码交付清单:做完一个项目,你到底该从开发商手里拿到什么 很多团队在验收软件时,只确认"能打开、能点",然后开发商甩过来一个 setup.exe 或一个小程序二维码,这事就算完了。但exe / 二维码只是结果,真正决定你后续能不能改、能不能…
凌晨1点,我盯着屏幕上诡异的Cannot read property 'xxx' of undefined错误,第六次刷新页面后终于意识到:又是this的锅。那天本可以准时下班,却因为一个嵌套回调中的this指向问题,硬生生调试到深夜。如果…
Day15 把 Fiber 架构拆开了:渲染变成了可中断的工作队列,状态藏在双缓存树里。今天在这个地基上回答一个更贴近日常的问题:函数组件每次渲染都会整个重新执行一遍,那 useState 保存的状态到底存在哪里?凭什么函数执行完就"消失"…
Codex 只读审查的权限边界:任务文件是谁写的? 只读审查,任务文件为何更新 一次 Codex 审查没有修改仓库代码,却留下了新的任务 JSON。看到这种现象,先别把它判成“只读沙箱失效”。更值得追问的是:文件由哪个进程写入,read-o…
做本地商家调研时,我拿到过一份 200 行的表格:商家名、评分、地址、排名。表格里看半天,看不出「哪片区域密、哪片区域空、我的店被谁围着」。后来把这些点画到地图上,问题十秒内一目了然——这就是地图可视化的价值:坐标数据放在表里是数字,放在地…
超大代码评审卡顿,通常不是“行数太多”这么简单。GitHub公开的极限样本包含2200个文件、超过100万行改动和400多条行内评论。它真正难处理的是评论高度会随图片、折叠块和回复框变化。GitHub的核心判断很值得复用:确定高度与未知高度…
Day14 把 TypeScript 工程讲完了,阶段三正式进入框架内核。React 近几年的所有大事:Concurrent Mode、Suspense、useTransition、React 19 的 use(),根都在同一个地方:Fib…
> 一个面向 ant-design-vue / element-plus 用户的 Vue 3 表格替换件,今天正式进入 Vue 官方组织维护的 awesome-vue 清单。 先说结论 2026 年 9 月 24 日,我提交给 vuejs/…
- 2026-09-25北京 本文字数:1268 字 阅读完需:约 4 分钟 TanStack Charts 是一个 Alpha 阶段的框架无关 TypeScript 可视化库,基于图形语法范式,通过标记、通道、变换等原语组合图表,而非预设…
摘要 tw\_iphone\_duo\_reserved\_region 将 iOS 当前激活的遮挡区域转换为 Flutter 窗口逻辑坐标中的 Rect。需要为自定义界面避开摄像头等局部遮挡时,可以读取这些矩形并自行调整布局。本文先说明如…
大家好,我是老刘 上个月说"升级Flutter版本,9月再说"的那位兄弟,这个月没再说话。iOS 27和Xcode 27如期而至,UIScene生命周期正式成为强制要求,留在3.38的App用Xcode 27构建,直接启动失败。 3.41.…
##### 本篇看点 阅读目标:理解 Preferences 的轻量键值边界,并和 RDB 的业务列表场景区分开。 核心问题:Preferences 适合轻量键值,不适合承载复杂业务列表。 对比迁移:对应 iOS UserDefaults …
> 面向初学者:从状态栏、导航栏、胶囊按钮开始,理解微信小程序自定义顶部区域的计算逻辑,并完成一个可复用的顶部导航组件。 一、为什么“顶部区域”容易算错? 在微信小程序中,页面顶部通常不是一个简单的 44px 容器,而是由多个区域叠加而成:…
GIFIPHONE.gif前段时间苹果发布会上看到iPhone Duo的开屏动画很是惊艳。iPhone Duo 的开屏动画,其核心是一种渐进式模糊与虚化过渡效果。当你展开或折叠手机时,外屏的画面会自然地逐渐模糊,仿佛消融并“融化”进内屏,而…
LLVM / Clang 编译器架构 一、核心思想:LLVM 解决了什么问题? 传统编译器痛点: 一门编程语言如果需要跨平台(Windows / macOS / Linux / ARM / x86),需要为每一套平台单独编写对应的编译工具,…
后台管理系统的需求几乎不需要解释:登录、用户、角色、菜单、字典、日志、组织、Dashboard,谁家做的都差不多。正因为需求高度同质,它成了一个理想的对照实验场——同一份需求、同一套数据库、同一份接口契约,用五种技术栈各写一遍,差异会出现在…
X6 框选 200 个节点就卡死?翻完 1100 行源码,病灶是四笔账 系列第 1 篇 · 病灶篇。读完你能:沿着一次 mousemove 的调用链,把"框选拖拽卡顿"拆成四笔可数的账,并说出为什么本地测 20 个节点永远测不出来。 系列目…