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
相关产品推荐
相关产品推荐

