我现在有个接口如下:
interface GlobalSettings {
navTheme: ThemeType
}
ThemeType 是上篇文章中定义的联合类型,类型为”dark“|”light“
现在有个defaultSettings默认值对象:
const defaultSettings: GlobalSetting = {
navTheme: "light"
}
我将这个defaultSettings的值初始化到pina中做状态管理,使用了vueUse工具箱,代码如下:
export const useSettingsStore = defineStore('setting', () => {
const navTheme = useStorage('navTheme', defaultSettings.navTheme)
const themeConfig = reactive({
// themeAlgorithm[navTheme.value] 这句一直会报错
/**
元素隐式具有 "any" 类型,因为类型为 "string" 的表达式不能用于索引类型 "{ readonly light: (token: SeedToken) => MapToken; readonly dark: DerivativeFunc<SeedToken, MapToken>; }"。
在类型 "{ readonly light: (token: SeedToken) => MapToken; readonly dark: DerivativeFunc<SeedToken, MapToken>; }" 上找不到具有类型为 "string" 的参数的索引签名。ts(7053)
*/
algorithm: themeAlgorithm[navTheme.value] || antdTheme.def

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



