首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >输入“未知”不能指定键入'any[] \\ Iterable<any> > (Iterable<any> & any[])

输入“未知”不能指定键入'any[] \\ Iterable<any> > (Iterable<any> & any[])
EN

Stack Overflow用户
提问于 2021-01-18 15:45:32
回答 2查看 6.8K关注 0票数 2

我试图使一些自定义搜索过滤器在我的角度项目--它工作得很好,但在我的vscode中,我得到了一个错误。在我的上一个项目中,在我更新cli之后,它工作得很好,我得到了这样一个错误。如何解决这个错误?

提前感谢

类型“未知”不能指定键入“any[]&Iterable”

我用角11。

代码语言:javascript
复制
<section *ngIf="!spinner; else showspinner">
  <div class="w-100 px-5">
    <div class="p-3">
      <label>Email</label>
      <input
        type="text"
        name="email"
        placeholder="Search By Email"
        class="form-control"
        id=""
        [(ngModel)]="searchText"
      />
    </div>
  </div>

  <div class="table-responsive">
    <table class="table table-hover table-bordered table-striped">
      <thead>
        <tr>
          <th>Name</th>
          <th>Email</th>
          <th>Phone</th>
          <th>Enrolment-Id</th>
          <th>Course</th>
          <th>Python/Sql</th>
          <th>Statistics</th>
          <th>ML</th>
          <th>Mid-Term Objective</th>
          <th>Mid-Term Subjective</th>
          <th>Final Assessment</th>
          <th>Project Ability</th>
          <th>Internship Ability</th>
          <th>Live Session Attendance</th>
          <th>Internship Attendance</th>
          <th><a> view </a></th>
          <th><a> Downlode </a></th>
        </tr>
      </thead>
      <tbody>
        <tr *ngFor="let item of response | email: searchText">
          <td>{{ item.name }}</td>
          <td>{{ item.email }}</td>
          <td>{{ item.phone }}</td>
          <td>{{ item.enrolmentid }}</td>
          <td>{{ item.course }}</td>
          <td>{{ item.pythonsql }}</td>
          <td>{{ item.statistics }}</td>
          <td>{{ item.ml }}</td>
          <td>{{ item.midtermobj }}</td>
          <td>{{ item.midtermsubj }}</td>
          <td>{{ item.finalassessment }}</td>
          <td>{{ item.projectability }}</td>
          <td>{{ item.internshipability }}</td>
          <td>{{ item.livesessionattendance }}</td>
          <td>{{ item.internshipattendance }}</td>
          <td>
            <a
              [routerLink]="['../details', item._id]"
              routerLinkActive="router-link-active"
            >
              <span class="badge badge-success">view</span>
            </a>
          </td>

          <td>
            <a href="javascript:void(0)" (click)="downlode(item._id)"
              ><span class="badge badge-danger">Downlode</span></a
            >
          </td>
        </tr>
      </tbody>
    </table>
  </div>
</section>
<ng-template #showspinner>
  <app-spinner></app-spinner>
</ng-template>

component.ts

代码语言:javascript
复制
 response: any;
  searchText: any;
  spinner: boolean = false;

  record() {
    this.spinner = true;
    this.get_data_service.get_record().subscribe((res: any) => {
      if (res.err) {
        console.log(res.message);
        this.spinner = false;
      } else {
        this.response = res.data;
        this.spinner = false;
      }
      console.log(res);
    });

pipe.ts

代码语言:javascript
复制
@Pipe({
  name: 'email',
})
export class EmailPipe implements PipeTransform {
  transform(item: any, searchValue?: string): unknown {
    // console.log('pipe');
    if (searchValue === undefined) {
      return item;
    }
    return item.filter((i: any) => {
      let data = i.email
        .replace(/\s+/g, '')
        .toLowerCase()
        .includes(searchValue.toLocaleLowerCase().replace(/\s+/g, ''))
        ? i
        : '';
      return data;
    });
  }

package.json

代码语言:javascript
复制
 "dependencies": {
    "@angular/animations": "~11.0.6",
    "@angular/common": "~11.0.6",
    "@angular/compiler": "~11.0.6",
    "@angular/core": "~11.0.6",
    "@angular/forms": "~11.0.6",
    "@angular/platform-browser": "~11.0.6",
    "@angular/platform-browser-dynamic": "~11.0.6",
    "@angular/router": "~11.0.6",
    "bootstrap": "^4.5.3",
    "file-saver": "^2.0.5",
    "jquery": "^3.5.1",
    "rxjs": "~6.6.0",
    "tslib": "^2.0.0",
    "zone.js": "~0.10.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.1100.6",
    "@angular/cli": "~11.0.6",
    "@angular/compiler-cli": "~11.0.6",
    "@types/file-saver": "^2.0.1",
    "@types/jasmine": "~3.6.0",
    "@types/node": "^12.11.1",
    "codelyzer": "^6.0.0",
    "jasmine-core": "~3.6.0",
    "jasmine-spec-reporter": "~5.0.0",
    "karma": "~5.1.0",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage": "~2.0.3",
    "karma-jasmine": "~4.0.0",
    "karma-jasmine-html-reporter": "^1.5.0",
    "protractor": "~7.0.0",
    "ts-node": "~8.3.0",
    "tslint": "~6.1.0",
    "typescript": "~4.0.2"
  }
EN

回答 2

Stack Overflow用户

发布于 2021-01-18 15:56:44

我不知道angular,但是在typescript中,当您将返回类型添加到函数中时,您应该知道返回类型(实际上将返回限制在那些类型),如果您不知道,让typescript创建那个类型。

只需尝试删除unknown类型

代码语言:javascript
复制
transform(item: any, searchValue?: string): unknown {

代码语言:javascript
复制
transform(item: any, searchValue?: string) {
票数 4
EN

Stack Overflow用户

发布于 2022-03-02 17:58:09

在你的管道里transform function has unknown type

更改unknown to any[],您的问题就解决了:)

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

https://stackoverflow.com/questions/65777722

复制
相关文章

相似问题

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