【问题标题】:How could I hide a field with a button in Odoo我怎么能在 Odoo 中用按钮隐藏字段
【发布时间】:2022-11-15 23:58:19
【问题描述】:

目前,我有一个视图表单,有些字段需要通过单击按钮隐藏或取消隐藏。 我尝试使用 State,Boolean 字段但无法实现结果。 我的问题是我可以在 Odoo 上做吗?怎么做?

我使用了State和Boolean字段,并在字段上按条件设置,但是结果并不好。 当用户单击按钮时,隐藏字段将重新出现

【问题讨论】:

  • 您能否在 xml 中包含字段代码以及单击按钮时调用的操作代码?

标签: odoo


【解决方案1】:

是的,你可以做到。

odoo 中的按钮操作在执行之前触发 write 方法。 在实现您的逻辑和域以显示/隐藏 XML 视图中的字段之前,您应该意识到这一点。

您需要将 invisible 属性应用于您的领域内的域。 invisible 通常是静态的,但可以在attrs 属性中弹性化。

另一个重要的事情是,基于字段的域要求字段出现在视图中才能访问它。一个好的做法是让这些字段不可见,并将它们放在您的视图之上。

在你的模型中:

show_fields = fields.Boolean(default=False)
field_to_show = fields.Char()

def show_fields_action(self):
  for record in self: record.show_fields = True

在您看来:

<field name="show_fields" invisible="1" />
<field name="field_to_show" attrs="{'domain': [('show_fields','=',True])}" />

<button name="show_fields_action" type="object" string="Show Fields" />

如果您的问题与 UI/UX 相关,请考虑改用 notebooks

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多