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都可以的。

相关推荐
ywf12152 小时前
前端的dist包放到后端springboot项目下一起打包
前端·spring boot·后端
恋猫de小郭2 小时前
2026,Android Compose 终于支持 Hot Reload 了,但是收费
android·前端·flutter
hpoenixf8 小时前
2026 年前端面试问什么
前端·面试
还是大剑师兰特8 小时前
Vue3 中的 defineExpose 完全指南
前端·javascript·vue.js
泯泷8 小时前
阶段一:从 0 看懂 JSVMP 架构,先在脑子里搭出一台最小 JSVM
前端·javascript·架构
mengchanmian9 小时前
前端node常用配置
前端
华洛9 小时前
利好打工人,openclaw不是企业提效工具,而是个人助理
前端·javascript·产品经理
xkxnq9 小时前
第六阶段:Vue生态高级整合与优化(第93天)Element Plus进阶:自定义主题(变量覆盖)+ 全局配置与组件按需加载优化
前端·javascript·vue.js
A黄俊辉A10 小时前
vue css中 :global的使用
前端·javascript·vue.js
小码哥_常11 小时前
被EdgeToEdge适配折磨疯了,谁懂!
前端