diff --git a/packages/uni-template-compiler/__tests__/compiler-extra.spec.js b/packages/uni-template-compiler/__tests__/compiler-extra.spec.js
index 410e0d923e4671e55866fc9c5ecee3c325528391..f4dcc6e8ce8fe8c72202932d2494af2d1d21f16b 100644
--- a/packages/uni-template-compiler/__tests__/compiler-extra.spec.js
+++ b/packages/uni-template-compiler/__tests__/compiler-extra.spec.js
@@ -649,8 +649,8 @@ describe('mp:compiler-extra', () => {
})
it('generate bool attr', () => {
assertCodegen(
- '',
- ''
+ '',
+ ''
)
assertCodegen(
'',
diff --git a/packages/uni-template-compiler/lib/bool-attr.js b/packages/uni-template-compiler/lib/bool-attr.js
index 8d46f86819c6a3655db85e754b103712e6ace58d..ce65c1af015f103ba676a67c8a665c2366b728eb 100644
--- a/packages/uni-template-compiler/lib/bool-attr.js
+++ b/packages/uni-template-compiler/lib/bool-attr.js
@@ -1,5 +1,7 @@
const dirRE = /^v-|^@|^:|^#/
+const PROPS = ['id', 'class', 'style', 'inline-template']
+
module.exports = {
preTransformNode (el) {
if (!el.attrsList) {
@@ -7,7 +9,7 @@ module.exports = {
}
el.attrsList.forEach(attr => {
if (attr.bool) {
- if (!dirRE.test(attr.name) && attr.name !== 'inline-template') {
+ if (!dirRE.test(attr.name) && !PROPS.includes(attr.name)) {
delete el.attrsMap[attr.name]
attr.name = ':' + attr.name
attr.value = 'true'