如果字段值为空,则显示破折号

Posted

技术标签:

【中文标题】如果字段值为空,则显示破折号【英文标题】:Having a dash if field values are null 【发布时间】:2021-09-02 04:11:32 【问题描述】:

我正在开发一个角度应用程序。我的 html 中有以下代码

      <div> data.date | date:'d-MMM-y' || '-' </div>
       <div> data.id  || '-' </div> 

我面临的问题是,无论何时对于日期和 id 等任何字段,如果来自 API 的值为 null,则下一个 div 向上移动。我希望 div 位于值不为空的特定位置。因此,每当来自 API 的值为空时,我都希望有一个破折号“-”。所以在我的代码中,我向所有字段添加了一个|| '-',但它仍然无法正常工作。我的 html 中没有出现“-”。我该怎么做?

【问题讨论】:

【参考方案1】:

您已经接近结果,只是缺少一些括号:

<div> (data?.date) ? (data.date | date:'d-MMM-y') : '-' </div>

工作 Stackblitz:https://stackblitz.com/edit/angular-vb4peg?file=src/app/app.component.ts

只需评论this.data["date"] = new Date();这一行,您就会看到它的变化。

【讨论】:

【参考方案2】:

您可以在这种情况下使用nullish coalescing 运算符

会是这样的:

  <div>  (data.date | date:'d-MMM-y') ?? '-'  </div>
  <div>  data.id ?? '-'  </div>

【讨论】:

以上是关于如果字段值为空,则显示破折号的主要内容,如果未能解决你的问题,请参考以下文章

php怎么判断字段是不是为空

如果值为空,如何告诉杰克逊在序列化期间忽略一个字段?

如果值为空,则设置数据库的默认值

mybatis返回map类型数据空值字段不显示的解决方法

如果输入为空,则发出警报[重复]

React native - 如果表单提交时为空,则突出显示 TextInput