Angular 使用“角度材质”中的复选框过滤数据库中的数据。错误nameValue.toLowerCase不是函数
我尝试使用复选框过滤器来过滤材质中表格上的数据。我在终端和控制台上都做得很好,没有任何错误。但当我在浏览器上勾选一个复选框时,控制台上就会出现这个错误“nameValue.toLowerCase不是函数” 下面的代码行标识ts文件中错误所在的部分Angular 使用“角度材质”中的复选框过滤数据库中的数据。错误nameValue.toLowerCase不是函数,angular,angular-material,Angular,Angular Material,我尝试使用复选框过滤器来过滤材质中表格上的数据。我在终端和控制台上都做得很好,没有任何错误。但当我在浏览器上勾选一个复选框时,控制台上就会出现这个错误“nameValue.toLowerCase不是函数” 下面的代码行标识ts文件中错误所在的部分 filterOptions(positionValue:string[],nameValue:string):ITransactionDetail[]{if(!positionValue | | | positionValue.length==0)和&
filterOptions(positionValue:string[],nameValue:string):ITransactionDetail[]{if(!positionValue | | | positionValue.length==0)和&!nameValue){return this.data;}const filtered=this.data.filter(PeriodiceElement=>{return((nameValue?PeriodiceElement.transactionType.toLowerCase()):false)|(positionValue?positionValue.includes(PeriodiceElement.id+“”):false));});返回筛选;}我认为发生此错误的原因是传递给函数的nameValue不是字符串,尽管它的参数写为字符串
filterOptions(positionValue: string[], nameValue: string)
我假设您在html文件中调用此函数,并且通过此函数传递的值不是字符串
要解决此错误,请确保传递的值是字符串,或将函数更改为:
nameValue.toString().toLowerCase()
希望这样行。这个怎么样
nameValue.toString().toLowerCase();
谢谢,我应用了你的逻辑,当我勾选框时,控制台上没有错误,但它仍然不能过滤表。如果可能的话,你可以在stackblitz上复制你的代码,这样就更容易检查发生了什么。我希望这是可能的,这是一个jhipster库和一个公司的项目。我会放更多的代码,这样你就可以我有更广泛的想法。我已经尝试过了,但它仍然不能过滤表格