Replies: 3 comments
-
关于
|
Beta Was this translation helpful? Give feedback.
0 replies
-
看了你昨天的 PR 效果很完美的实现了。 下面给你个语法层面的建议哈~ 你的代码: const dividerStyle: ComputedRef<string> = computed((): string => {
const borderColor = prop.color ? `border-color: ${prop.color}` : ''
const margin = prop.margin ? `margin: ${prop.margin} 0` : ''
const borderStyle = prop.type ? `border-style: ${prop.type}` : ''
return [borderColor, margin, borderStyle].join(';')
}) 其实里看似密密麻麻很多的代码,核心就是设置了三个样式,并没有那么复杂。 改进思路:
const dividerStyle = computed(() => {
const { color, margin } = prop
return {
margin: `${margin || '30px'} 0`,
borderColor: color,
}
}) 这样的既用了最少的代码,还实现了相同的效果,相比于你的减少了大量的计算量。 最后一点是关于计算属性,像这种分割线组件,其实动态性并不高,基本上用户在改了第一次样式之后,后面就不会再动了,所以直接将样式对象写在行内即可,除非动态性很高的样式或者类名,可以使用计算属性的缓存,这个也需要自己权衡一下~ 可以看下我修改的 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
说明
FDivider
组件由 tanhh326 进行开发计算操作优先使用计算属性
原代码:
修改后:
或许你需要注意的是:
ComputedRef<返回值类型>
来标记ComputedRef
需要引入使用:import type { ComputedRef } from 'vue'
拼写错误
原代码:
textAliagn
拼写错误,应该是:textAlign
建议下载
vs code
插件 Code Spell Checker 进行拼写检查建议
可以将
textAlign
属性改为position
会更加专业些格式规范
tab
始终为两个空格最新的 @fighting-design/fighting-components 已更新
Beta Was this translation helpful? Give feedback.
All reactions