【问题标题】:In PrimeNG, how do I set a border color for the p-calendar component when no data is entered?PrimeNG中,如何在没有输入数据的情况下为p-calendar组件设置边框颜色?
【发布时间】:2022-10-14 11:25:35
【问题描述】:

我正在使用 Angular 14 和 PrimeNG 14。我有一个 p 日历组件,如果用户没有输入值,我想用红色边框颜色设置样式。我有

            <p-calendar
                            [showIcon]="true" 
                            [ngClass]="{'border-red-500': this.submitted && this.form.get('myDate')?.hasError('required')}"
                            formControlName="myDate"></p-calendar>

但是,这并不能改变风格。在特定条件下更改 p 日历组件边框颜色的正确方法是什么?

【问题讨论】:

  • 你能创建一个 StackBlitz 吗?

标签: calendar primeng angular14 primeng-calendar


【解决方案1】:

边框应应用于输入而不是 p 日历。更改代码以设置 inputStyleClass 如下。

<p-calendar [showIcon]="true" [inputStyleClass]="this.submitted && this.form.get('myDate')?.hasError('required') ? 'red-bar': ''" formControlName= “我的日期”>

我为此创建了 stackblitz。 https://stackblitz.com/edit/primeng-calendar-demo-vjtcnp?file=src%2Fapp%2Fapp.component.html

或者即使使用您的实现,您也可以简单地将您的类定义更改为

.border-red-500 .p-inputtext {
  border: 1px solid red;
}

在全局styles.css 中编写样式。

【讨论】:

  • 这会导致编译错误。 “inputSTyleClass”带有一个编译错误下划线,即“Type '{ "border-red-500": boolean | undefined; }' is notassignable to type 'string'。”
  • @Dave 我已经更新了代码并添加了 stackblitz 解决方案。还给出了问题中原始代码的替代方式
猜你喜欢
  • 2020-11-06
  • 1970-01-01
  • 2020-12-15
  • 2021-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多