You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PrimeNG pInputTextarea:[value]为undefined时占位符不显示的解决方法

只读Textarea显示占位符替代"undefined"的解决方案

直接用JavaScript的??(空值合并操作符)在模板中处理绑定值,不用额外写函数就能解决问题:

具体代码修改

假设你原来的PrimeNG InputTextarea写法是这样:

<p-inputTextarea 
  [readonly]="true"
  [(ngModel)]="yourTargetObject"
  placeholder="请输入内容"
></p-inputTextarea>

方案1(推荐,只读场景更简洁)

改用单向[value]绑定,配合??处理空值:

<p-inputTextarea 
  [readonly]="true"
  [value]="yourTargetObject ?? ''"
  placeholder="请输入内容"
></p-inputTextarea>

方案2(保留双向绑定,适用于可能切换只读状态的场景)

在双向绑定里直接加入空值处理逻辑:

<p-inputTextarea 
  [readonly]="true"
  [(ngModel)]="yourTargetObject ?? ''"
  placeholder="请输入内容"
></p-inputTextarea>

原理说明

??操作符会在左侧值为undefined或null时,返回右侧的默认值(这里用空字符串'')。此时textarea因为绑定值为空,就会自动显示设置好的占位符,而不是渲染出"undefined"字符串。

内容的提问来源于stack exchange,提问作者2803

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 18:53:14