CATEGORY FOCUS

前端

这里集中整理这一主题下的 Odoo 学习文章、源码分析与实战总结。

88 篇文章 491 累计阅读 当前排序:专题优先

TOPIC PICKS

这个专题的推荐入口

可以顺着继续读的相邻方向

前端

Odoo 字段为什么不是“widget 名字对上就行”:field registry、formatter、parser 与解析优先级讲透

很多人做字段二开时,关注点只停留在 widget 名称和组件模板,但 Odoo 真正复杂的是解析优先级:同一个字段会经过 registry 选型、supportedTypes 校验、extractProps、formatter/parser 乃至 view/jsClass 前缀回退。本文专门拆开这条“字段到底如何被解析成一个可运行 widget”的链路。

前端
进阶 开发者 1 分钟阅读 0 评论 0 收藏 4 阅读
继续阅读 →
前端

Odoo 弹窗按下 ESC 为什么不是“关掉当前框”这么简单:dialog、overlay 与激活态所有权链路讲透

现成 UI 里按 ESC 关闭弹窗看起来天经地义,但 Odoo 的实现并不是谁监听到键盘就自己销毁。结合 dialog.js 与 dialog_service.js,本文专门讲透 ESC 从热键到 dismiss 再到 overlay remove 的所有权链路,以及多层弹窗为什么必须依赖 isActive。

前端
进阶 开发者 2 分钟阅读 0 评论 0 收藏 4 阅读
继续阅读 →
前端

Odoo hooks 为什么不是“顺手封个函数”:useService、useAutofocus、usePager 的生命周期契约讲透

Odoo 里的 hooks 看起来很轻,但真正的价值不是少写几行代码,而是把组件生命周期、环境注入和异步安全封成契约。结合 hooks.js 与 pager_hook.js,本文专门讲透 useService、useAutofocus、usePager 分别在保护什么,以及为什么它们不能简单当工具函数看待。

前端
进阶 开发者 1 分钟阅读 0 评论 0 收藏 4 阅读
继续阅读 →
前端

Odoo patch() 为什么最容易补错“边界”:原型、静态成员、accessor 与可枚举性陷阱讲透

很多人会用 Odoo 的 patch(),但真正容易出事故的地方并不是语法,而是补丁边界:到底该 patch 类本身还是 prototype、getter/setter 只补一半会怎样、class method 的 enumerable 为什么要特殊处理。结合 patch.js 源码,本文专门拆开这些“看起来小、升级时最疼”的边界问题。

前端
进阶 开发者 1 分钟阅读 0 评论 0 收藏 4 阅读
继续阅读 →
前端

Odoo 下拉菜单为什么不是“点一下展开就完了”:Dropdown 嵌套、组行为与导航契约讲透

很多人觉得下拉菜单只是一个按钮加一个列表,但 Odoo `dropdown.js`、`dropdown_nesting.js` 和相关 hooks 说明,真正稳定的下拉系统必须同时处理嵌套层级、兄弟菜单互斥、键盘导航、RTL 行为、触屏 bottom sheet 和 click-away 边界。它本质上是一套微型运行时,而不是一个样式组件。

前端
进阶 开发者 2 分钟阅读 0 评论 0 收藏 4 阅读
继续阅读 →
前端

Odoo 命令面板为什么不是“Ctrl+K 弹个搜索框”:provider、namespace 与执行链路讲透

很多产品都做了命令面板,但真正难的不是做一个输入框,而是怎样把命令来源、分类、命名空间、上下文元素、热键和二级面板切换组织成统一运行时。Odoo 的 `command_service.js` 与 `command_palette.js` 说明,命令面板本质上是一套可扩展的命令汇聚与执行系统,而不是 UI 小组件。

前端
进阶 开发者 1 分钟阅读 0 评论 0 收藏 4 阅读
继续阅读 →
上一页 第 9 / 15 页
下一页