小崧股份(002723.SZ)尾盘拉升涨8% 总市值44亿元
小崧股份(002723 SZ)尾盘拉升涨8%,报13 9元创2个月新高,总市值44亿元。近日子公司国海建设中标三个项目,总金额约2078 82万元,占公司202
之前项目中使用到Typescript+Vue3,封装组件过程中发现definedProps无法使用外部引入的类型定义,因为时间关系当时没有仔细研究。
今天再次遇到此问题,于是花了些时间研究了一番:
(资料图片仅供参考)
下面这种情况可以成功编译的。
但如果将类型定义抽取出来则会报错编译失败。
因为Vue SFC组件仅编译组件所在文件,无法分析到外部引入的类型定义。
关于该问题的讨论可以参考:https://github.com/vuejs/core/issues/4294
之后找到一个vite库可以解决该问题:https://github.com/wheatjs/vite-plugin-vue-type-imports
本人测试不知道什么原因没有成功,于是另寻出路,终于在element plus源码中找到一个不错的解决方案。
element plus没有使用类型声明的方式定义props,而是使用传统的运行时声明方式定义props:
说明:
status是字面量类型,需要使用vue提供的PropType支持
ExtractPropTypes作用是将props的类型定义抽取出来供外部使用
至此成功地将props的类型抽取出来了,但仍有一个小问题。
status的类型推导成可选的了,而我们需要是必选的,下面我们再修改一下:
至此status的类型推导变成必选的了。
总结
类型声明方式定义defineProps目前仅支持将props类型定义到组件所在文件中
运行时声明方式定义defineProps体验较好些,但需要配合PropType和ExtractPropTypes使用’
如果不需要将props类型抽取出来,则两种方式都可以。
标签: TypeScript HTTPS 解决方案
小崧股份(002723 SZ)尾盘拉升涨8%,报13 9元创2个月新高,总市值44亿元。近日子公司国海建设中标三个项目,总金额约2078 82万元,占公司202
图①:山西临汾经济技术开发区兴荣供应链有限公司的货车整装待发。资料图片 图②:司机王勇平驾驶货车行驶在
2022年北京冬奥会的筹办过程,为中国冰雪运动发展提供了巨大动力。科技创新,成为中国冰雪运动前进道路上嘹亮的号角。在科学技术部社会发展
游客在银川市黄河横城旅游度假区观看花灯展(2月5日摄)。春节假期,“2022黄河横城冰雪彩灯艺术节”在宁夏银川市
新华社香港2月6日电题:狮子山下的舞狮人新华社记者韦骅“左眼精,右眼灵,红光万象,富贵繁荣!”“口食八方财,
正在进行围封或强制检测的葵涌邨居民在登记(资料照片)。新华社发新华社香港2月6日电 题:凝聚香港社会共克时艰
2月6日,航拍青海省西宁市雪后美景。受较强冷空气影响,2月5日至6日,青海迎来大范围降雪天气过程,古城西宁银装
[ 相关新闻 ]