警告使用@class 容易出错

Posted

技术标签:

【中文标题】警告使用@class 容易出错【英文标题】:WARNING Error-prone use of @class 【发布时间】:2018-04-15 23:19:23 【问题描述】:
> WARNING 11_test1 odoo.addons.base.ir.ir_ui_view: Error-prone use of
> @class in view report_invoice_document
> (account_invoice_report.report_invoice_document): use the
> hasclass(*classes) function to filter elements by their classes

谁能解释我为什么会收到此警告。仅在 2 个地方使用课程。

<td class="text-right">
<span t-esc="', '.join(map(lambda x: (x.description or x.name), l.invoice_line_tax_ids))"/>
  </td>

<xpath expr="//div[@class='row mt32 mb32']/div[@t-if='o.name']" position="replace"/>

【问题讨论】:

尝试使用位置属性,例如&lt;xpath expr="/div/div[2]/div[@t-if='o.name']" position="replace"/&gt; 【参考方案1】:

你现在可以使用 hasclass() 了。示例 -

    如果继承路径中有一个类:

xpath expr="//div[hasclass('dropdown')]" position="replace">

    如果继承路径中有多个类:

xpath expr="//div[hasclass('dropdown','btn-group','dropdown_sorty_by')]" position="replace">

在你的情况下应该是:

<xpath expr="//div[hasclass('row','mt32','mb32')]/div[@t-if='o.name']" position="replace"/>

【讨论】:

虽然它在 Odoo 中工作,但它似乎不是标准的 XPath 功能。

以上是关于警告使用@class 容易出错的主要内容,如果未能解决你的问题,请参考以下文章

警告:注册 Oracle JDBC 诊断 MBean 时出错

Vue警告:创建的钩子出错:“TypeError:无法读取未定义的属性'get'”

警告:解析 numpy 要求时出错:[Errno 2] 没有这样的文件或目录:

Laravel Nova 覆盖 vue 组件导致 [Vue 警告]:编译模板时出错

使用 Vuforia 配置 Proguard 时出错

.\libraries\classes\Plugins\AuthenticationPlugin.php#226 中的错误警告不能使用 phpmyadmin 在 mysql 中将标量值用作数组