Odoo 12 自定义按钮事件
-
以下代码用来在Form里面增加一个自定义按钮,触发JS代码。在Odoo V10 里面是可用的,但是放到Odoo V12里面就不生效了。折腾了两天,没搞定,请高手指点一下,该怎么修改。
模块配置文件 manifest.py 加了如下:
'js': [ 'static/src/js/mm_wlpz.js', ] ,
XML文件代码里加了按钮:
<button string="选取库存" custom="mm_wlpz_jsck_click"/>
JS文件写了触发的事件:
odoo.define('x_ds.mm_wlpz_js', function (require) { "use strict"; var form_widget = require('web.form_widgets'); var core = require('web.core'); var _t = core._t; form_widget.WidgetButton.include({ on_click: function () { alert( 'on_click ' ) if (this.node.attrs.custom === "mm_wlpz_jsck_click") { //console.log(this) this.field_manager.fields.check_jskc.set_value(true) return; } } , }); });
-
试了下面这个方法可以触发事件,就是更改了“check_jskc”字段的值后,Web页面上没有跟着改过来,求解。
odoo.define('x_ds.mm_wlpz_js', function (require) { "use strict"; var FormController = require('web.FormController'); FormController.include({ _onButtonClicked: function (event) { if(event.data.attrs.custom === "mm_wlpz_jsck_click"){ event.data.record.data.check_jskc= true return ; } this._super(event); }, }); });