Невозможно связать с 'placeholder', так как это не известное свойство 'ng-multiselect-dropdown' - PullRequest
0 голосов
/ 22 октября 2018

Я хочу реализовать функцию автозаполнения, поэтому идентичная опция, которую я нашел, использовала раскрывающийся список с множественным выбором.Так что я использовал этот модуль -

https://www.npmjs.com/package/ng-multiselect-dropdown

Но после того, как я внедряю, я получаю эти ошибки -

Ошибка -

ERROR Error: Uncaught (in promise): Error: Template parse errors:
Can't bind to 'placeholder' since it isn't a known property of 'ng- 
 multiselect-dropdown'.
1. If 'placeholder' is an Angular directive, then add 'CommonModule' 
 to the '@NgModule.imports' of this component.
2. To allow any property add 'NO_ERRORS_SCHEMA' to the 
'@NgModule.schemas' of this component. ("

<ng-multiselect-dropdown
[ERROR ->][placeholder]="'custom placeholder'"
  [data]="dropdownList"
  [(ngModel)]="selectedItems"
"): ng:///AdminLayoutModule/HierarchySearchComponent.html@7:0

И когдая комментирую заполнитель в моем component.html, я получаю эту ошибку -

Can't bind to 'data' since it isn't a known property of 'ng- 
multiselect-dropdown'.
1. If 'data' is an Angular directive, then add 'CommonModule' to the 
'@NgModule.imports' of this component.
2. To allow any property add 'NO_ERRORS_SCHEMA' to the 
 '@NgModule.schemas' of this component.
   "
<ng-multiselect-dropdown
[placeholder]="'custom placeholder'"
  [ERROR ->][data]="dropdownList"
  [(ngModel)]="selectedItems"
  [settings]="dropdownSettings"
"): ng:///AdminLayoutModule/HierarchySearchComponent.html@8:2

И подобная ошибка продолжается до последнего атрибута.

Обновление

app.module.ts

import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { RouterModule } from '@angular/router';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';


import { AppRoutingModule } from './app.routing';
import { ComponentsModule } from './components/components.module';

import { AppComponent } from './app.component';

import { AdminLayoutComponent } from './layouts/admin-layout/admin-layout.component';

//-------------  Imported Modules -------------------------

import { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';
import { CommonModule } from '@angular/common';


@NgModule({
  imports: [
    BrowserAnimationsModule,
    FormsModule,
    HttpModule,
    ComponentsModule,
    RouterModule,
    AppRoutingModule,
    NgbModule.forRoot(),
    NgMultiSelectDropDownModule.forRoot(),
    CommonModule,


  ],
  declarations: [
    AppComponent,
    AdminLayoutComponent,


  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Обычно эта ошибка возникает, когда вы пропустили некоторые операции импорта.Пожалуйста, добавьте эти строки, если они отсутствуют:

import { BrowserModule } from '@angular/platform-browser'; import { FormsModule } from '@angular/forms';

0 голосов
/ 22 октября 2018

HierarchySearchComponent - это компонент, для которого вы используете ng-multiselect-dropdown.

Так что, вероятно, у вас будет HierarchySearch.module.ts .

Вы просто удаляете NgMultiSelectDropDownModule.forRoot () из импорта: [] в app.module.ts и импорта в HierarchySearch.module.ts .

Это будет работать.!

...