首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >角8: ngx-芯片形式验证问题

角8: ngx-芯片形式验证问题
EN

Stack Overflow用户
提问于 2020-03-17 04:49:12
回答 1查看 1.3K关注 0票数 0

我在我的角8项目中使用ngx-chips。当我在“编辑”表单(ngForm)中时,我看到tag-input有被选择的体裁的名称。但是,我无法提交表格,因为它显示了“字段是必需的”。请参阅下面的代码是.html文件:

代码语言:javascript
运行
复制
<tag-input name="itemno" #itemno="ngModel" [ngModel]="genreIds" [onlyFromAutocomplete]="true" required placeholder="" class="form-control none">
    <tag-input-dropdown [autocompleteItems]="itemsAsObjects">
    </tag-input-dropdown>
</tag-input>

<div *ngIf="contentStandalonrFrm.submitted && itemno.invalid">
    <div *ngIf="itemno.errors.required" class="text-danger">{{required_field}}</div>
</div>

.ts文件中:

代码语言:javascript
运行
复制
listArray.forEach(item => {
    this.genreIds.push({ 'value': item.genreId, display : item.genreName });
});

当我控制台this.genreIds时,它向我展示了以下内容:

{value: 36, display: "Animation"};

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-17 05:02:29

当使用push方法推送值时,不会触发ngx芯片组件更改检测。

角度变化检测只检查对象标识,而不检查对象内容。因此,没有检测到插入或删除。

尝试如下:

代码语言:javascript
运行
复制
const selectedValue =  listArray.map(item => {
   return { 'value': item.genreId, display : item.genreName };
});

this.genreIds = selectedValue;

参考

示例

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60716395

复制
相关文章

相似问题

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