Storybook的Viewport设置后预览区域怎么还是固定大小?
我在Storybook里用addParameters设置了viewport,配置了iPhone 12的尺寸,但预览区域还是固定在默认宽度。明明按照文档加了withParameters,刷新页面后手机样式显示出来了,但内容区域宽度没变,左右还是有空白…
试过在.storybook/preview.js里这样写:
export const parameters = {
viewport: {
viewports: {
iphone12: { name: 'iPhone 12', styles: { width: '390px', height: '844px' } }
},
defaultViewport: 'iphone12'
}
}
然后在组件故事里用了addDecorator(withParameters),但预览区宽度还是卡在800px左右,手机模式的遮罩层倒是变小了,内容却没跟着缩。是不是哪里配置漏了?
直接删掉所有addDecorator相关的代码,就用preview.js里的parameters配置就够了。你现在的情况是viewport装饰器叠加了,导致样式冲突。
复制这个,把preview.js改成这样:
然后去你的xxx.stories.js里,确保没import { addDecorator } from '@storybook/...' 这种东西,更不要调withParameters。
如果用了TS,顺便检查下tsconfig是不是把preview.js排除了。改完重启下Storybook,预览区宽度就会跟着设备走,不会再有800px的默认限制了。