Argument of type ‘number‘ is not assignable to parameter of type ‘Person‘. <ArkTSCheck>

interface Person {
  age: number;
}

@Entry
@Component
struct Index {
  @State zsList: Person[] = [{ age: 10 }, { age: 20 }, { age: 30 }]

  build() {
    Column() {
      Text(this.zsList[0].age.toString())
      Button().onClick(() => {
        this.zsList.splice(0, 1, this.zsList[0].age + 1);
      })
    }
  }
}

这个错误通常表示您正在尝试将一个数字类型的值赋给一个期望是 Person 类型的参数。

可能的原因是:

  1. 您可能在代码中的某个地方错误地将一个数字直接传递给了一个应该接收 Person 类型对象的函数、方法或变量。

  2. 也有可能是类型推断出现了错误,导致编译器认为您应该传递一个 Person 类型,但实际上您传递的是一个数字。

要解决这个问题,您需要确保传递给相关位置的是一个正确的 Person 类型的对象,而不是一个数字。

interface Person {
  age: number;
}

@Entry
@Component
struct Index {
  @State zsList: Person[] = [{ age: 10 }, { age: 20 }, { age: 30 }]

  build() {
    Column() {
      Text(this.zsList[0].age.toString())
      Button().onClick(() => {
        let newPerson: Person = { age: this.zsList[0].age + 1 };
        this.zsList.splice(0, 1, newPerson);
      })
    }
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值