odoo16 实现点击按钮弹出提示框

在 Odoo 16 中,可以通过使用 ir.actions.client 来创建和显示弹出提示框。下面是如何实现这一功能的步骤和代码示例:

效果图

在这里插入图片描述

1. 定义弹出提示框的代码

首先,确保你已经导入了 _ 函数,用于翻译文本。然后,定义一个返回通知的函数。以下是一个示例:

from odoo import models, _

class YourModel(models.Model):
    _name = 'your.model'

    # 按钮
    def action_show_message(self):
        return self.show_notification("你好 世界!")

    def show_notification(self, message, title="成功", sticky=False, type="success"):
        notification = {
            'type': 'ir.actions.client',
            'tag': 'display_notification',
            'params': {
                'title': _(title),  # 设置通知的标题
                'message': _(message),  # 设置通知的内容
                'sticky': sticky,  # 设置为粘性通知
                'type': type  # 设置通知的类型(danger、warning、info、success)
            },
        }
        return notification

2. 调用弹出提示框的函数

在需要显示通知的地方,调用 show_notification 方法。例如,在按钮的点击事件或某个特定逻辑之后,可以调用这个方法:

class YourModel(models.Model):
    _name = 'your.model'

    def some_action(self):
        # 执行某些操作
        ...

        # 显示通知
        return self.show_notification()

3. 使用

当你在 Odoo 前端调用这个方法时,会在右上角弹出一个提示框,显示你定义的标题和内容。

4. 注意事项

  • sticky 参数为 True 时,通知将一直显示,直到用户手动关闭。
  • type 参数可以选择不同的样式(如 dangerwarninginfosuccess),以指示不同的通知重要性。
上一篇:Transformer--详解


下一篇:速盾:休闲类游戏如何选择高防cdn?