Odoo V12定义按钮的单击事件

时间:2019-04-29 06:54:17

标签: javascript events odoo

在Odoo 10中有一个很好的click事件。它在Odoo 12中不起作用。我不知道该如何更改。请帮忙。

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;
            }
        } ,

    });

});

1 个答案:

答案 0 :(得分:0)

我更改了代码:

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 
                //But the value of check_jskc is still "false" in the web client . What is the right way to change other field's value ?
                return ;
            }

            this._super(event);
        },
    });

});

但是在Web客户端中,check_jskc的值仍然为“ false”。更改其他字段的值的正确方法是什么?