如何在 TypeScript 中约束对象为 CSS 属性?
如何在 typescript 中约束对象为 css 属性?
在 typescript 中,为特定目的而约束对象类型是很重要的。在本文中,我们将探究如何将对象约束为包含 css 属性。
考虑以下函数:
function setattrstoelement(el: htmlelement, attr: record<string, any>) { for (const key in attr) { el.setattribute(key, attr[key]) } }
该函数接收两个参数:一个 htmlelement 和一个具有任意值类型的对象。我们的目标是约束第二个参数,使其包含 css 属性。
例如,我们希望在调用此函数时,ide 可以自动补全 css 属性键值。
解决方案:使用 react 或 csstype
在 react 项目中,我们可以使用 react 提供的 cssproperties 类型:
import { cssproperties } from "react"; function setattrstoelement(el: htmlelement, attr: cssproperties) { for (const key in attr) { el.setattribute(key, attr[key]); } }
这将允许我们仅为已知的 css 属性提供键值。
如果我们不在 react 项目中,可以使用 csstype 库:
import * as CSS from 'csstype'; function setAttrsToElement(el: HTMLElement, attr: CSS.Properties) { for (const key in attr) { el.setAttribute(key, attr[key]); } }
这将提供与 cssproperties 类似的功能,但适用于非 react 项目。
以上就是如何在 TypeScript 中约束对象为 CSS 属性?的详细内容,更多请关注其它相关文章!