Skip to content
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

Bugfix/unocss merge control #1799

Merged
merged 2 commits into from
Jan 8, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs-vuepress/.vuepress/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ const sidebar = {
{ title: '小程序跨端组件库 Mpx-cube-ui 开源啦', path: 'mpx-cube-ui' },
{ title: 'Mpx-cli 插件化改造', path: 'mpx-cli-next' },
{ title: 'Mpx 小程序单元测试能力建设与实践', path: 'unit-test'}
],
]
}

const nav = [
Expand Down
2 changes: 1 addition & 1 deletion docs-vuepress/guide/platform/platform.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Mpx以微信增强DSL为基础,支持跨端输出至多端小程序、web和
new MpxwebpackPlugin({
// mode为mpx编译的目标平台,可选值有(wx|ali|swan|qq|tt|jd|web|ios|android|harmony)
mode: 'ali',
// srcMode为mpx编译的源码平台,目前仅支持wx
// srcMode为mpx编译的源码平台,目前仅支持wx
srcMode: 'wx'
})
```
Expand Down
13 changes: 11 additions & 2 deletions packages/core/src/platform/builtInMixins/styleHelperMixin.ios.js
Original file line number Diff line number Diff line change
Expand Up @@ -140,10 +140,11 @@ export default function styleHelperMixin () {
},
__getStyle (staticClass, dynamicClass, staticStyle, dynamicStyle, hide) {
let result = {}
const unoResult = {}
let unoResult = {}
const unoVarResult = {}
const classMap = this.__getClassMap?.() || {}
const { unoClassMap = {}, unoVarClassMap = {}, unoPreflightsClassMap = {} } = global.__getUnoClass?.() || {}
let hasUnoClass = false
const appClassMap = global.__getAppClassMap?.() || {}
if (staticClass || dynamicClass) {
const classString = concat(staticClass, stringifyDynamicClass(dynamicClass))
Expand All @@ -154,6 +155,7 @@ export default function styleHelperMixin () {
// todo 全局样式在每个页面和组件中生效,以支持全局原子类,后续支持样式模块复用后可考虑移除
Object.assign(result, appClassMap[className])
} else if (unoClassMap[className]) {
hasUnoClass = true
Object.assign(unoResult, unoClassMap[className])
} else if (unoVarClassMap[className]) {
Object.assign(unoVarResult, unoVarClassMap[className])
Expand All @@ -162,7 +164,14 @@ export default function styleHelperMixin () {
Object.assign(result, this.__props[className])
}
})
result = Object.assign({}, unoPreflightsClassMap, unoResult, unoVarResult, result)
if (hasUnoClass) {
// 两个类需要前置默认css变量
if (unoResult.transform || unoResult.filter) {
unoResult = Object.assign({}, unoPreflightsClassMap, unoResult)
}
// 合并uno工具变量
result = Object.assign({}, unoResult, unoVarResult, result)
}
}

if (staticStyle || dynamicStyle) {
Expand Down
Loading