首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我如何设置最大数目的芯片垫芯片输入?

我如何设置最大数目的芯片垫芯片输入?
EN

Stack Overflow用户
提问于 2019-07-22 02:40:31
回答 2查看 4.5K关注 0票数 2

我想让用户只输入一个芯片在垫-芯片与自动完成。我知道md芯片有max芯片来设置最大数量的芯片。但是我使用的是垫芯片,我怎样才能设置这样的芯片的最大数量?

代码语言:javascript
运行
复制
<mat-chip-list maxLength="1">
  :
  :
</mat-chip-list>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-22 10:39:16

据我所知,您不能直接在MatChipList上设置它。您可以做的是,检查每个用户试图添加的芯片的选择芯片数量,然后根据已经添加的芯片数量来决定是否添加芯片。

查看从官方文档中提取并修改以解决问题的堆栈闪电战。

我所改变的只是这个(当通过自动完成添加芯片时):

代码语言:javascript
运行
复制
selected(event: MatAutocompleteSelectedEvent): void {
  if (this.fruits.length < 1) { // <-- THIS
    this.fruits.push(event.option.viewValue);
    this.fruitInput.nativeElement.value = '';
    this.fruitCtrl.setValue(null);
  } 
}

这(当通过打字添加芯片时):

代码语言:javascript
运行
复制
add(event: MatChipInputEvent): void {
  // Add fruit only when MatAutocomplete is not open
  // To make sure this does not conflict with OptionSelected Event
  if (!this.matAutocomplete.isOpen) {
    const input = event.input;
    const value = event.value;

    // Add our fruit
    if ((value || '').trim() && this.fruits.length < 1) { // <-- THIS
      this.fruits.push(value.trim());
    }

    // Reset the input value
    if (input) {
      input.value = '';
    }

    this.fruitCtrl.setValue(null);
  }
}

基本上,在添加任何新芯片之前,您需要检查已经选择的芯片数量。相应地编辑您的代码,上面的示例应该涵盖这两种情况(自动完成和键入)。

票数 6
EN

Stack Overflow用户

发布于 2022-06-10 14:29:50

我有250个字符的验证芯片计数

加上我做了..。演示

代码语言:javascript
运行
复制
  const len = this.fruits.join('');

  // Add our fruit
  if ((value || '').trim() && len.length <= 250) {
    this.fruits.push(value.trim());
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57138568

复制
相关文章

相似问题

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