-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(plugin/ts): error handling when querying version matching #57
base: main
Are you sure you want to change the base?
Conversation
console.log('text', result) | ||
const matchVersion = suggestedVersions.filter(({ id }) => id.includes(result.text)) | ||
matchVersion.length > 0 | ||
? onChange?.(matchVersion[0]?.value.toString()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这里不可以直接强行切换到对应版本吗?🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
可以,但是如果他输入任何以外的值都给一个固定值,是不是不太符合直觉?
要不然在不匹配任何值的时候给一个固定@latest?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
预期的话应该是不管怎么样都设置过去,然后应该会触发 monaco 的加载,最后如果有版本那就会找到对应的版本并加载,如果找不到那么就会在下面编辑框的位置出现一些提示出来,我之前应该是做了这个异常逻辑的 fallback 的。
app/core/src/plugins/typescript/use.tsx
Lines 55 to 79 in 37a8da3
const loadingNode = useMemo(() => typescriptVersion ? null : <section style={{ | |
display: 'flex', | |
alignItems: 'center', | |
justifyContent: 'center', | |
flexDirection: 'column' | |
}}> | |
<div style={{ | |
position: 'relative', | |
width: 72, | |
height: 72, | |
backgroundColor: '#4272ba', | |
userSelect: 'none' | |
}}> | |
<span style={{ | |
position: 'absolute', | |
right: 5, | |
bottom: -2, | |
fontSize: 30, | |
fontWeight: 'blob' | |
}}>TS</span> | |
</div> | |
{loadError | |
? <span>{loadError}</span> | |
: <span>Downloading TypeScript{typescriptVersion && <>@<code>{typescriptVersion}</code></>} ...</span>} | |
</section>, [loadError, typescriptVersion]) |
可以检查一下能否强制切换到这个 fallback 逻辑。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok 我看下
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
最终 loadingNode 会被加载到这个地方来
app/core/src/components/EditorZone.tsx
Line 234 in 37a8da3
loading={loadingNode} |
No description provided.