javascript - 如何解决 setAttribute() 函数中“布尔”类型的参数不可分配给“字符串”类型的参数错误
问题描述
我有一个将 HTMLaria-expanded
属性动态更新为 true 或 false 的函数。但是,当我输入element
as时HTMLElement
,我收到一个Argument of type 'boolean' is not assignable to parameter of type 'string'
expandEotyDocumentsPanel(element: HTMLElement) {
this.eotyExpanded = !this.eotyExpanded;
element.setAttribute('aria-expanded', this.eotyExpanded);
}
您可能已经注意到,this.eotyExpanded
是一个布尔值。
关于 的第二个参数, MDNsetAttribute()
上的文档说:
包含要分配给属性的值的 DOMString。指定的任何非字符串值都会自动转换为字符串。
所以我认为提供一个布尔值就可以了。
我怎样才能抑制这个错误?
谢谢。
解决方案
元素的属性不能是布尔值,所以你可能只是把它变成字符串而不是
new Boolean(this.eotyExpanded).toString()
推荐阅读
- android - 如何在不丢失元数据的情况下压缩图像?
- scala - MonoidK 和 Monad 关系
- android - 原因:androidx.navigation.safeargs 只能用于 androidx 项目
- c++ - 有没有办法指导 swagger codegen 为任务生成基于任务的延续,以捕获 cpprest 抛出的异常?
- css - React + Typescript:TypeScript 错误:类型“字符串”与类型“CSSProperties”没有共同的属性
- java - 无法在 Andorid 的 Shared Preference 中保存 ArrayList 值
- r - R: 像 Excel 的 index + corresp 一样转换 df
- javascript - 如何使用 Exif 修复预览时的图像旋转
- css - 如何使我的 span 元素和 p 元素在同一行?
- tableau-api - Tableau 创建唯一的最大日期