zoukankan      html  css  js  c++  java
  • view xml 中的 button 调用web客户端事件

    最近写一个模块 需要 在客户端干点事.
    按常规的方法, 应该是写个 客户端模块. 在 客户端 init, start, render 去渲染个按钮出来干事.暂时还不太理解WEB模块如何很好地同服务器端通讯.
    所以, 还是使用传统的OE server 模块来干这事.
    OE 提供 ir.actions.client (客户端事件) 来让服务端与 客户端进行事件交互.
    所以, 只需要在 view xml 中. 添加个 button 并调用服务端事件, 然后 服务端返回一个 ir.actions.client 事件给客户端即可. 不知道哪位大大有更好的办法

    <button name="act_start" type="object" string="Start"/>

    然后 在对象中定义该对象 act_start  方法

    def act_start(self, cr, uid, ids, context=None):
            context={}
            context["key"]="value"
                    
            ret = {
                'type': 'ir.actions.client',
                'tag': 'lcd_video.btnPerview',
                'context':context,
            }
            return ret

    然后 在 模块JS文件中, 去定义JS部分的对象

     

    instance.my_sample.btn_start = function(parent, action){
            var self = this;
            //id
            action.context.active_id
            //ids
            action.context.active_ids
            //_name
            action.context.active_model
            // 更多参数 请查看相关文档 或 用js调试 自行发掘
            alert('test');
            // and do something...
            return false;
        };
    这时候. 不出异常. 点击 按钮即可调用 btn_start 方法了...
  • 相关阅读:
    vue--组件基础
    vue中的一些知识点--多看文档
    关于组件--React
    数组方法-->map()
    正则表达式使用
    border-image 和 border-color 不能同时使用问题
    gulp
    oninput 中文输入
    linux文档权限
    为什么使用 use strict
  • 原文地址:https://www.cnblogs.com/chjbbs/p/3850254.html
Copyright © 2011-2022 走看看