odoo14 @api.onchange装饰器的返回值使用操作

在Odoo 14 中,@api.onchange装饰器的返回值是一个字典,其中可以包含以下键:

  1. 'value': 用于更新字段的新值。这个键对应的值是一个字典,其中包含要更新的字段名及其新的值。这样,当字段的值发生变化时,这些新的值将被用于更新与这些字段相关的视图部分。

    示例:

    return {
        'value': {
            'field_name': new_value,
            'another_field': another_value,
            # ...
        }
    }
    --------------------------------------------------------------
        说明:
            field_name,another_field是字段名称:
            new_value,another_value是对应字段值需要在界面上展示的值

  2. 'warning': 用于显示警告信息。这个键对应的值是一个字典,其中包含了用于显示警告的信息,如标题、消息和类型。

    示例:

    return {
        'warning': {
            'title': "Warning Title",
            'message': "Warning Message",
            'type': 'notification',  # 或者 'blocking','info' 等
        }
    }
    
    ---------------------------------------------------------------------
        type值说明:
    
            在Odoo中,warning 的 type 属性支持以下几个值:
    
            'dialog': 弹出对话框。
            'blocking': 阻塞用户操作。
            'info': 提供一般信息。
            'success': 显示成功信息。
            'warning': 显示警告信息。
            'danger': 显示危险或错误信息。
    
        你可以根据你的需要选择适当的类型。
        例如,如果你希望用户看到一般的信息,
        你可以使用 'info',如果希望弹出一个对话框,你可以使用 'dialog'

  3. 'domain': 用于修改字段的域(domain)。这个键对应的值是一个字典,其中包含字段名及其新的域。这样,当字段的值发生变化时,新的域将被应用到该字段。

    示例:

    return {
        'domain': {
            'field_name': [('domain_condition', '=', 'value')],
            'another_field': [('another_condition', '=', 'another_value')],
            # ...
        }
    }
    
    
    -----------------------------------------------
        说明:
              field_name,another_field是需要过滤的字段名称:
              后面就是 过滤域 格式和 domain 格式一样

这些键分别用于在字段值变化时,更新其他字段的值、显示警告信息或者修改字段的域。根据具体的业务需求,你可以选择使用其中的一个或多个键。

你可能感兴趣的:(前端,xml,odoo,python,后端)