在讨论中提到了一个基于Angular的问题,有一个带有可选图标子组件的按钮。默认导出如下:
export default {
title: 'Angular Component Library/Button',
component: MyButtonComponent,
decorators: [
moduleMetadata({
declarations: [MyIconComponent],
imports: [CommonModule],
}),
],
} as Meta;
其中一个模板如下:
export const Primary = Template.bind({});
Primary.args = {
type: 'button',
label: 'Button',
btnStyle: 'primary',
isDisabled: false,
iconSizeInPx: '25px',
myIcon: 'AddNew',
};
组件本身的HTML代码如下:
原始的svg宽度/高度为50px。在故事本身中,我已经将其设置为25px,但是如果我删除"myIcon"属性(指定要使用的图标),并在控制器(浏览器中的最终用户)中再次添加它,它会恢复到默认的高度/宽度(50px),尽管我已经在组件本身以及每个故事模板中指定了它。
无论我将"iconSizeInPx='25px'"添加到默认导出、模板参数还是两者都添加,都无法调整,但是刷新页面后它会变为25px。
理想的行为是,当向按钮添加图标时,图标应该是25px,因为这是组件本身指定的。而且这样做确实有效。直到我更改或删除"myIcon"属性并添加一个新的图标,然后图标才会变为50px,直到刷新页面,然后新的图标才会恢复到25px,就像它应该的那样。
有什么建议吗?
1条答案
按热度按时间5jvtdoz21#
我遇到了完全相同的问题。我认为这可能与ngClass和Angular生命周期钩子有关。我会继续探索并在找到任何东西时报告回来