首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在自定义控件中添加所需的星号?

如何在自定义控件中添加所需的星号?
EN

Stack Overflow用户
提问于 2018-07-01 10:15:00
回答 1查看 4.2K关注 0票数 0

我使用角6来创建一个包含自定义表单控件的自定义组件。到目前为止,我已经在组件中实现了ControlValueAccessor

我的自定义控件是一个来自角材料的简单的MatSelect组件。我想显示星号(*)来表示何时需要该控件。

到目前为止,我已经使用了自定义控件,但是将required属性添加到组件并不会将星号添加到我的控件中!

代码语言:javascript
运行
复制
<app-provinces formControlName="projectProvince" required></app-provinces>

我应该为它定义一个@Input变量并手动处理它,还是应该自动完成它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-01 10:20:16

是的,您应该向组件中添加一个required @Input()

就像这样:

代码语言:javascript
运行
复制
<div class="form-group m-form__group row" [ngClass]="{
                    'has-danger': formGroup.controls[formControlName].invalid && formGroup.controls[formControlName].touched,
                    'has-success': formGroup.controls[formControlName].valid && formGroup.controls[formControlName].touched,
                    'has-no-action': formGroup.controls[formControlName].untouched
                                }">
        <label class="col-form-label col-lg-3 col-sm-12" [for]="formControlId">
            {{formControlLabel}}
            <span *ngIf="isRequired" class="required" aria-required="true"> * </span>
        </label>
        <div class="col-lg-4 col-md-9 col-sm-12">
            <select placeholder="place_holder_text" [disabled]="disabled" [class]="formControlName" [id]="formControlId" [data]="formControlItems"  (click)="setAsTouched()" (valueChanged)="store($event)"></select>
            <div class="form-control-feedback">{{formControlErrorText || 'Required Field May Not Be Empty'}}</div>
            <span class="m-form__help">{{formControlHelpText}}</span>
        </div>
    </div>

构成部分:

代码语言:javascript
运行
复制
@Input('required') isRequired: boolean;

示例用法:

代码语言:javascript
运行
复制
<select-form-control
    [required]="true"
    [group]="myFormGroup"
    label="Name"
    name="name"
    controlId="name"
    [inputItems]="array"
    helpText="Enter..."
    [value]="name"
    (valueChange)="someMethod($event)">
</select-form-control>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51122377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档