提交 ee93e114 编写于 作者: Q qiang

fix(mp-alipay): 修复支付宝默认插槽默认内容一直显示的问题 question/116404

上级 6b3b07b5
...@@ -55,6 +55,12 @@ describe('mp:compiler-mp-alipay', () => { ...@@ -55,6 +55,12 @@ describe('mp:compiler-mp-alipay', () => {
} }
) )
}) })
it('generate slot fallback content', () => {
assertCodegen(
'<view><slot>slot</slot></view>',
'<view><block a:if="{{$slots.$default}}"><slot></slot></block><block a:else>slot</block></view>'
)
})
it('generate default slot', () => { it('generate default slot', () => {
assertCodegen( assertCodegen(
'<component1>text</component1>', '<component1>text</component1>',
......
...@@ -273,6 +273,10 @@ function genSlotNode (slotName, slotNode, fallbackNodes, state) { ...@@ -273,6 +273,10 @@ function genSlotNode (slotName, slotNode, fallbackNodes, state) {
if (!fallbackNodes || t.isNullLiteral(fallbackNodes)) { if (!fallbackNodes || t.isNullLiteral(fallbackNodes)) {
return slotNode return slotNode
} }
// 支付宝小程序默认插槽为 $default
if (state.options.platform.name === 'mp-alipay') {
slotName = slotName === 'default' ? '$default' : slotName
}
const prefix = state.options.platform.directive const prefix = state.options.platform.directive
return [{ return [{
type: 'block', type: 'block',
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册