feat(Overlay): add default slot (#4571)

This commit is contained in:
neverland 2019-09-25 14:50:48 +08:00 committed by GitHub
parent d2f6185934
commit 0fe9874379
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 32 additions and 23 deletions

View File

@ -14,16 +14,9 @@ Vue.use(Overlay);
### Basic Usage
```html
<van-button
type="primary"
text="Show Overlay"
@click="show = true"
/>
<van-button type="primary" text="Show Overlay" @click="show = true" />
<van-overlay
:show="show"
@click="show = false"
/>
<van-overlay :show="show" @click="show = false" />
```
```js
@ -52,3 +45,9 @@ export default {
| Event | Description | Arguments |
|------|------|------|
| click | Triggered when clicked | event: Event |
### Slots
| Name | Description |
|------|------|
| default | Default slot |

View File

@ -18,16 +18,9 @@ Vue.use(Overlay);
### 基础用法
```html
<van-button
type="primary"
text="显示遮罩层"
@click="show = true"
/>
<van-button type="primary" text="显示遮罩层" @click="show = true" />
<van-overlay
:show="show"
@click="show = false"
/>
<van-overlay :show="show" @click="show = false" />
```
```js
@ -56,3 +49,9 @@ export default {
| 事件名 | 说明 | 回调参数 |
|------|------|------|
| click | 点击时触发 | event: Event |
### Slots
| 名称 | 说明 |
|------|------|
| default | 默认插槽 |

View File

@ -8,10 +8,7 @@
@click="show = true"
/>
<van-overlay
:show="show"
@click="show = false"
/>
<van-overlay :show="show" @click="show = false" />
</demo-block>
</demo-section>
</template>

View File

@ -47,7 +47,9 @@ function Overlay(
class={[bem(), props.className]}
onTouchmove={preventTouchMove}
{...inherit(ctx, true)}
/>
>
{slots.default && slots.default()}
</div>
</transition>
);
}

View File

@ -2,6 +2,8 @@
exports[`class-name prop 1`] = `<div class="van-overlay my-overlay" style="z-index: 1;" name="van-fade"></div>`;
exports[`default slot 1`] = `<div class="van-overlay" style="z-index: 1; display: none;" name="van-fade">Custom Default</div>`;
exports[`duration prop 1`] = `<div class="van-overlay" style="z-index: 1; animation-duration: 1s;" name="van-fade"></div>`;
exports[`z-index prop 1`] = `<div class="van-overlay" style="z-index: 99;" name="van-fade"></div>`;

View File

@ -47,3 +47,13 @@ test('click event', () => {
wrapper.trigger('click');
expect(onClick).toHaveBeenCalledTimes(1);
});
test('default slot', () => {
const wrapper = mount(Overlay, {
scopedSlots: {
default: () => 'Custom Default'
}
});
expect(wrapper).toMatchSnapshot();
});