adobe-documentgeneration - Adobe Document Generation 中同一行的条件逻辑无法识别模板标签
问题描述
我有一个 json 字段,要么不存在,要么设置为true
. 但在我的文档中,我希望它显示为“是”或“否”。我尝试了以下条件表达式():
{% conditional-section expr(`my_field` = true) %}Yes{% end-section %}{% conditional-section expr(`my_field`!= true) %}No{% end-section %}
但是当我调用 Adobe Document Generation API 时,我得到的 PDF 仍然有这些模板标签。由于某种原因,它没有被检测到。我怎样才能做到这一点?
解决方案
我知道我在上面的评论中问了一个问题,但我想我现在可以尝试回答这个问题。所以现在没有办法说“如果一个值不存在或不存在并且等于是”。有几种方法可以解决这个问题,但我认为最简单的方法是更改数据。需要明确的是,我并不是说更改您的数据库或任何东西,但请记住,在调用我们的 API 之前,您可以稍微处理一下数据。所以如果没有my_field
意味着是,我会做这样的事情(JavaScript):
if(!mydata.my_field) {
mydata.my_field = 'yes';
}
然后你可以做这样的事情:
{% conditional-section expr(my_field = "yes") %}
Yes
{% end-section %}
{% conditional-section expr(my_field = "no") %}
No
{% end-section %}
但是,这不会在同一条线上。正如我所说,这是一个已知问题。如果您需要它,我会再次使用首先按摩您的数据的想法。你可以做这样的事情(同样,JavaScript,但可以用任何语言完成):
if(!mydata.my_field) {
mydata.my_field = 'yes';
}
if(mydata.my_field === 'yes') mydata.my_field_value = 'Yes';
else mydata.my_field_value = 'No';
我所做的只是根据 my_field 的值设置另一个变量。在您的 Word 模板中,您只需使用{{my_field_value}}
由于文档生成如此灵活,您有多种不同的方法来解决问题。
推荐阅读
- ruby-on-rails - 如何使用自定义控制器更改设计中的 redirect_to?
- android - 片段中的 WebView 不加载任何网页、kotlin、android
- django - git remote 中的多个应用程序以及如何指定一个应用程序
- javascript - 有没有办法只用 CSS 优雅地为我的棋子方块着色?
- spring-boot - spring.jpa.generate-ddl和spring.jpa.hibernate.ddl-auto的关系和区别
- python - Apache Beam Python SDK 中是否有 withFormatFunction 等价物?
- sql - 为整数列绕过 NULL <> NULL
- c# - 如何正确跳过 JsonConverter 中的未知属性
System.Text.Json 的 .Read() 方法? - python - 如何在不使用 Kivy 语言的情况下在另一个布局中使用 Python Kivy RecycleView?
- reactjs - 如何更新 React Native 中的组件?