odoo-040 odoo17前端的js方法调用后端py方法action报错

文章目录

问题描述

在前端的kanban视图上添加了几个自定义按钮,按钮点击可以跳转到对应的tree视图,在写按钮调用方法的时候报错如下:

前端调用后端action报错:

复制代码
action.views = [...action.views.map((v) => [v[0], v[1] === "tree" ? "list" : v[1]])]; // manipulate a copy to keep cached action unmodified

梳理写法

xml写法
复制代码
<div class="col-sm-12 col-md-6 col-lg-4 col-xl-4 col-xxl-3" t-on-click="openQuant" quant="product">
	 <a href="#"class="btn btn-primary w-100 h-100 border-0 rounded-0 text-capitalize text-break fw-normal p-3">
	     库存
	 </a>
</div>
前端方法
复制代码
async openQuant(ev) {
   const quant = ev.currentTarget.getAttribute("quant");
   const action = await this.orm.call("stock.picking.type", "open_action_stock_quant",
                                   [[]], {'context': {'quant': quant}});
   this.action.doAction(action);
    }
后端action的写法
复制代码
action= {
    'type': 'ir.actions.act_window',
    'res_model': 'stock.quant',
    'view_mode': 'tree',
    'views': [(False, 'list'), (False, 'form')],
}

错误解释

报错的一个原因是后端的action必须有个views这个现实的字段设置才行,哪怕id是False都可以的。

相关推荐
何何____11 分钟前
web方向js考核题解
开发语言·前端·javascript
风骏时光牛马11 分钟前
AI面试复盘:沉淀经验,找准求职短板
前端
liangshanbo121511 分钟前
面试题终极整理:手写 Promise.all / Promise.allSettled
前端·javascript·promise
心易行者12 分钟前
用HTML在线运行搭后台管理系统:5个核心模块+0服务器,3天跑通完整业务
大数据·前端·网络·人工智能·python
单线程1213823 分钟前
从案例分析 Vue3 Tokenizer+Parser 源码五
前端·javascript·vue.js
神奇的程序员31 分钟前
Apple Watch S12,送一台
前端
moonsims1 小时前
Voliro 无人机-Aerial Mobile Robot(空中移动机器人):把无人机从“飞过去拍摄”,升级成“飞过去并与目标物理接触、测量甚至操作”
前端·人工智能·安全·无人机·量子计算
晴天162 小时前
Chrome 控制台(DevTools)竟是用 HTML 写的?-Day41
前端·chrome·html
变与不变8063 小时前
Debug 调试与排错规范
前端·javascript
欢迎来到祖安!3 小时前
企业微信 API 接口能力介绍:支持消息收发、图片发送、表情互动、联系人管理等多场景应用
java·前端·数据仓库·spring cloud·企业微信