错误:初始化后无法更改选择的“多重”模式

Posted

技术标签:

【中文标题】错误:初始化后无法更改选择的“多重”模式【英文标题】:Error: Cannot change `multiple` mode of select after initialization 【发布时间】:2018-12-14 17:05:03 【问题描述】:

错误图片:

 <div fxFlex.gt-lg="100" fxFlex="100" *ngIf="requestAction == 'add'">
                    <div class="pb-1">
                            <md2-select placeholder="'WidgetType'|translate:lang" class="input_custom_width"(change)="widgetNode($event.value)"  required>
                                <md2-option *ngFor="let widgetType of widgetTypeAry" [value]="widgetType.value">
                                    widgetType.name
                                </md2-option>
                            </md2-select>
                    </div>
                </div>
              <div fxFlex.gt-lg="100" fxFlex="100" *ngIf="fieldsObj['node'] && showRequestAction" >
                <div class="pb-1">
                    <md2-select placeholder="'Node'|translate:lang" [formControl]="editWidgetForm.controls['nodeId']" [(ngModel)]="nodeId" class="input_custom_width" [(multiple)]="isMultiNode" (change)="nodeChange($event.value)" required>
                        <md2-select-header>
                            <md-input-container class="input_custom_width">
                                <input mdInput type="text" placeholder="'Search'| translate:lang" [ngModelOptions]="standalone: true" [(ngModel)]="searchNode"/>
                            </md-input-container>
                        </md2-select-header>
                        <md2-option *ngFor="let node of nodesAry | filterPipe : searchNode" [value]="node.value">
                             node.name 
                        </md2-option>
                    </md2-select>
                    <small *ngIf="editWidgetForm.controls['nodeId'].hasError('required') && editWidgetForm.controls['nodeId'].touched" class="mat-text-warn">'nodeReq'|translate:lang</small>
                </div>
              </div>

当我在选择下拉列表中使用多个时,它工作正常,但是当我使用 [multiple] 时,它仅适用于我的编辑表单,但不适用于添加表单。它给出了上述错误-错误:无法更改 multiple 之后的选择模式初始化。帮我解决这个问题。

【问题讨论】:

因为 mat-select 的多个属性不能动态改变,你可以初始化它,初始化后不要改变它。 @fatemefazli 谢谢你的回应。我能做些什么来解决这个问题。 你可以制作 stackblitz 来处理它吗? @fatemefazli 有什么办法可以解决这个问题。创建堆栈闪电战需要很长时间。 【参考方案1】:

对于这个问题有一个非常难看的解决方法,将你的 mat-select 扭曲到 *ngif=true 中,并创建一个具有 multiple 属性的副本,包裹在 *ngif=!true 中

【讨论】:

我给了你+1,因为你的解决方案有效!角度材料团队必须允许我们动态改变它

以上是关于错误:初始化后无法更改选择的“多重”模式的主要内容,如果未能解决你的问题,请参考以下文章

dell服务器uefi模式无raid初始化硬盘

inotifywait 运行守护程序模式给出错误无法初始化 inotify

materializecss 1.0.0 在使用 jquery 更改 dom 后重新初始化 - 错误:TypeError:'instanceof' 的右侧不可调用

更改浏览器 Url Flutter 时无法导航到初始路由错误

Apache 是“无法初始化模块”,因为更改 PHP 配置后模块和 PHP 的 API 不匹配

关于AES加解密中CBC模式的IV初始化向量的安全性问题