因此,我正在制作一个创建产品页面.这些项目是产品名称、产品价格、产品描述.有些时候用户还不想在他们的产品上输入任何价格.在这种情况下,我不希望它在页面上显示值为0的货币.有没有办法把货币藏起来?谢谢

const [price, setPrice] = useState();

  const formatter = new Intl.NumberFormat("id-ID", {
    style: "currency",
    currency: "IDR",
  });

<p className="card-text">{formatter.format(item.price)}</p>

推荐答案

您可以添加一个条件来判断JSX上的空值item.price,如下所示

<p className="card-text">{Boolean(item.price) && formatter.format(item.price)}</p>

如果您希望将该格式化程序重用于其他值,我建议您引入一个函数

const formatCurrency = (priceValue) => {
   if(!priceValue) {
     return '';
   }

   return new Intl.NumberFormat("id-ID", {
    style: "currency",
    currency: "IDR",
  });
}

<p className="card-text">{formatCurrency(item.price)}</p>

Javascript相关问答推荐

按钮未放置在html dis位置

微软Edge编辑和重新发送未显示""

如何粗体匹配的字母时输入搜索框使用javascript?

Chart.js 4.4.2,当悬停在一个数据点上时,如何在工具提示中拥有多个数据点/标签?

你怎么看啦啦队的回应?

如何在bslib nav_insert之后更改导航标签的CSS类和样式?

还原器未正确更新状态

我创建了一个创建对象的函数,我希望从该函数创建的对象具有唯一的键.我怎么能做到这一点?

我可以使用空手道用户界面来获取网页的当前滚动位置吗?

Use Location位置成员在HashRouter内为空

同一类的所有div';S的模式窗口

为什么可选参数的顺序会导致问题?

未捕获语法错误:Hello World中的令牌无效或意外

如何修复使用axios运行TSC index.ts时出现的错误?

是否可以在不更改组件标识的情况下换出Reaction组件定义(以维护状态/引用等)?如果是这样的话,是如何做到的呢?

通过解构/功能组件接收props-prop验证中缺少错误"

连续添加promise 时,如何在所有promise 都已结算时解除加载覆盖

在Puppeteer中使用promise进行日志(log)记录时出现TargetCloseError

脚本语法错误只是一个字符串,而不是一个对象?

用内嵌的含selenium的Java脚本抓取网站