odoo中的widget

widget=“statusbar” 头部状态条标签
widget=“email” 电子邮件地址标签
widget=“selection” 下拉选择标签
widget=“mail_followers” 关注者标签
widget=“mail_thread” 消息标签
widget=“progressbar” 进度条,按百分比标签
widget=“url” 网站链接标签
widget=‘image’ 图片标签
widget=“handler” 触发标签
widget=“radio” 单选标签
widget=“char_domain” 字符域标签
widget=“monetary” 价格(和精度位数相关)标签
widget=“float_time” 单精度时间标签
widget=“html” html相关标签
widget=“pad” pad显示相关标签
widget=“date” 日期标签
widget=“monetary” 金额标签
widget=‘text’ 文本标签
widget=“sparkline_bar” 燃尽标签
widget=“checkbox” 复选框标签
widget=“reference” 关联标签

widget=“one2many_list” 一对多列表标签
widget=“many2many_kanban” . 使用kanban视图显示相关的数据对象 可以用不同的kanban view来改变显示的效果
widget=“many2many_tags” 多对多显示标签
widget=“many2many_checkboxes” 只能用来勾选相关数据,不能创建或编辑
widget=“x2many_counter”
显示关联数据的数量,点击后跳转到相关的关联数据视图,跳转视图可以用views选择指定。 此widget可以用于 one2many 字段.
widget=“many2many_binary” 文件上传组件,支持单个或多个文件上传,显示列表,用户可以删除。

Odoo 17中,QWeb模板是用于编写前端UI的模板语言,它结合了HTML、CSS和JavaScript,并且利用了Web Components技术,如WidgetWidget可以看作是一个自包含的小型模块,可以在页面上复用和组合。 要在QWeb模板中引入Widget,首先需要做以下几个步骤: 1. **创建Widget**: 创建一个单独的JS文件,通常放在`static/src/js`目录下,实现一个或多个自定义组件,例如: ```javascript // my_widget.js define(['web', 'jquery'], function (web) { return { 'my_module.my_widget': { template: 'MyModuleWidgets.widget_template', init: function (element, options) { // widget 初始化逻辑 } } }; }); ``` 2. **定义模板** (`widget_template.xml`): 定义Widget的HTML结构以及可能的交互逻辑,可以使用`.qwc`文件扩展名: ```xml <!-- static/src/xml/my_widget.qwc --> <template id="MyModuleWidgets/widget_template"> <div> <button data-bind="click: showSomeData">显示数据</button> <span data-bind="text: dataToDisplay"></span> </div> </template> ``` 3. **在QWeb模板中使用**: 在视图模板中通过`<t>`标签引用并实例化Widget: ```xml <!-- views/templates.xml --> <record id="view_my_form" model="ir.ui.view"> <field name="name">my_form</field> <field name="arch" type="xml"> <form string="My Form"> <div t-foreach="data" t-name="row"> <t t-call="my_module.my_widget"> <t t-set="dataToDisplay" t-value="record.data"/> </t> </div> </form> </field> </record> ``` 4. **注入到视图**: 需要在对应的View模型中注入Widget,例如在`views.xml`中的`<view>`标签里: ```xml <view ...> <xpath expr="/form/notebook/page[@string='My Page']" position="inside"> <t t-call="my_module.my_widget"/> </xpath> </view> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值