-
Notifications
You must be signed in to change notification settings - Fork 266
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
fix(popup): 增加禁止 page 滚动的例子 #2803
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -13,7 +13,19 @@ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
setScrollPenetration(true) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<Popup visible={scrollPenetration} position="bottom" lockScroll> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<Popup | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
visible={scrollPenetration} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
position="bottom" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lockScroll | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onOpen={() => { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
// @ts-ignore | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Taro.getEnv().toLowerCase() === 'weapp' && | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wx.setPageStyle({ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
complete: console.log, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
style: { overflow: 'hidden' }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+24
to
+27
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion 优化错误处理和清理逻辑 当前实现存在以下问题:
建议按照以下方式优化实现: <Popup
visible={scrollPenetration}
position="bottom"
lockScroll
onOpen={() => {
- Taro.getEnv().toLowerCase() === 'weapp' &&
- wx.setPageStyle({
- complete: console.log,
- style: { overflow: 'hidden' },
- })
+ if (getEnv().toLowerCase() === 'weapp') {
+ wx.setPageStyle({
+ style: { overflow: 'hidden' },
+ success: () => {
+ console.debug('页面样式设置成功')
+ },
+ fail: (error) => {
+ console.error('设置页面样式失败:', error)
+ }
+ })
+ }
}}
+ onClose={() => {
+ if (getEnv().toLowerCase() === 'weapp') {
+ wx.setPageStyle({
+ style: { overflow: 'visible' },
+ fail: (error) => {
+ console.error('恢复页面样式失败:', error)
+ }
+ })
+ }
+ }}
> 📝 Committable suggestion
Suggested change
🧰 Tools🪛 GitHub Check: build[failure] 23-23: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<ScrollView scrollY style={{ height: '200px' }}> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{Array.from({ length: 200 }) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.fill('') | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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.
需要添加微信小程序的类型定义
建议不要使用
@ts-ignore
来绕过类型检查。相反,应该正确引入微信小程序的类型定义。建议添加以下类型定义:
然后移除
@ts-ignore
注释并使用导入的类型: