Skip to content

已知待解决问题 #1

@zhang0ZGC

Description

@zhang0ZGC

1. 条件语句中字符串含多个className可能会导致问题

<div className={`${tabIndex == index ? 'global-class active ' : ' '}item`} />

会被编译为

<div className={clsx(`${tabIndex == index ? ['global-class', styles.active] : ' '}item`)} />

编译结果格式错误

2. 使用+拼接字符串作为className的情况

如:

<div className={(tabIndex == index ? 'global-class active ' : ' ') + 'item'} />

不保证结果100%正确,实在是太难猜字符串拼接以后的情况了😂

3. 本地覆盖全局的class被转换导致从全局类继承过来的样式丢失

当前处理at-开头的,遇到这种class,会在转换的时候自动套一层:global(),其它的就会被转换。比如在全局样式app.scss种存在一个class: .text--red{color: red},当前页面样式文件中也存在一个selecor: .text--red{font-size: 12px},在之情它两样是会合并,元素既是红色字号也是12像素,但是现在会只保留字号12px

目前想到的一个可行方案是读取app.scss文件中的selecor,放到全局selctor列表中,在遍历页面/组件样式时,只要发现selector在全局selctor列表中,就也给它套一个:global()

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions