mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-23 18:00:27 +08:00
feat(ActionSheet): add cancel slot (#8333)
This commit is contained in:
parent
ceebc22e63
commit
393d7cb7af
@ -78,11 +78,11 @@ export default defineComponent({
|
|||||||
};
|
};
|
||||||
|
|
||||||
const renderCancel = () => {
|
const renderCancel = () => {
|
||||||
if (props.cancelText) {
|
if (slots.cancel || props.cancelText) {
|
||||||
return [
|
return [
|
||||||
<div class={bem('gap')} />,
|
<div class={bem('gap')} />,
|
||||||
<button type="button" class={bem('cancel')} onClick={onCancel}>
|
<button type="button" class={bem('cancel')} onClick={onCancel}>
|
||||||
{props.cancelText}
|
{slots.cancel ? slots.cancel() : props.cancelText}
|
||||||
</button>,
|
</button>,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -212,9 +212,10 @@ export default {
|
|||||||
### Slots
|
### Slots
|
||||||
|
|
||||||
| Name | Description |
|
| Name | Description |
|
||||||
| ----------- | ------------------ |
|
| ---------------- | ------------------------------------ |
|
||||||
| default | Custom content |
|
| default | Custom content |
|
||||||
| description | Custom description |
|
| description | Custom description above the options |
|
||||||
|
| cancel `v3.0.10` | Custom the content of cancel button |
|
||||||
|
|
||||||
### Less Variables
|
### Less Variables
|
||||||
|
|
||||||
|
@ -228,9 +228,10 @@ export default {
|
|||||||
### Slots
|
### Slots
|
||||||
|
|
||||||
| 名称 | 说明 |
|
| 名称 | 说明 |
|
||||||
| ----------- | -------------------- |
|
| ---------------- | -------------------- |
|
||||||
| default | 自定义面板的展示内容 |
|
| default | 自定义面板的展示内容 |
|
||||||
| description | 自定义描述文案 |
|
| description | 自定义描述文案 |
|
||||||
|
| cancel `v3.0.10` | 自定义取消按钮内容 |
|
||||||
|
|
||||||
### 样式变量
|
### 样式变量
|
||||||
|
|
||||||
|
@ -5,6 +5,14 @@ exports[`should allow to custom close icon with closeIcon prop 1`] = `
|
|||||||
</i>
|
</i>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
exports[`should render cancel slot correctly 1`] = `
|
||||||
|
<button type="button"
|
||||||
|
class="van-action-sheet__cancel"
|
||||||
|
>
|
||||||
|
Custom Cancel
|
||||||
|
</button>
|
||||||
|
`;
|
||||||
|
|
||||||
exports[`should render default slot correctly 1`] = `
|
exports[`should render default slot correctly 1`] = `
|
||||||
<transition-stub>
|
<transition-stub>
|
||||||
<div class="van-overlay">
|
<div class="van-overlay">
|
||||||
|
@ -182,6 +182,19 @@ test('should render description correctly', () => {
|
|||||||
).toMatchSnapshot();
|
).toMatchSnapshot();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('should render cancel slot correctly', () => {
|
||||||
|
const wrapper = mount(ActionSheet, {
|
||||||
|
props: {
|
||||||
|
show: true,
|
||||||
|
},
|
||||||
|
slots: {
|
||||||
|
cancel: () => 'Custom Cancel',
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(wrapper.find('.van-action-sheet__cancel').html()).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
|
||||||
test('should render description slot when match snapshot', () => {
|
test('should render description slot when match snapshot', () => {
|
||||||
const wrapper = mount(ActionSheet, {
|
const wrapper = mount(ActionSheet, {
|
||||||
props: {
|
props: {
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<demo-block card>
|
||||||
<van-cell is-link @touchstart.stop="keyboard = 'default'">
|
<van-cell is-link @touchstart.stop="keyboard = 'default'">
|
||||||
{{ t('button1') }}
|
{{ t('button1') }}
|
||||||
</van-cell>
|
</van-cell>
|
||||||
@ -25,6 +26,7 @@
|
|||||||
:placeholder="t('clickToInput')"
|
:placeholder="t('clickToInput')"
|
||||||
@touchstart.stop="keyboard = 'bindValue'"
|
@touchstart.stop="keyboard = 'bindValue'"
|
||||||
/>
|
/>
|
||||||
|
</demo-block>
|
||||||
|
|
||||||
<van-number-keyboard
|
<van-number-keyboard
|
||||||
:show="keyboard === 'default'"
|
:show="keyboard === 'default'"
|
||||||
|
@ -1,70 +1,71 @@
|
|||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
exports[`should render demo and match snapshot 1`] = `
|
exports[`should render demo and match snapshot 1`] = `
|
||||||
<div class="van-cell van-cell--clickable"
|
<div>
|
||||||
|
<div class="van-cell van-cell--clickable"
|
||||||
role="button"
|
role="button"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
>
|
>
|
||||||
<div class="van-cell__value van-cell__value--alone">
|
<div class="van-cell__value van-cell__value--alone">
|
||||||
Show Default Keyboard
|
Show Default Keyboard
|
||||||
</div>
|
</div>
|
||||||
<i class="van-badge__wrapper van-icon van-icon-arrow van-cell__right-icon">
|
<i class="van-badge__wrapper van-icon van-icon-arrow van-cell__right-icon">
|
||||||
</i>
|
</i>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-cell van-cell--clickable"
|
<div class="van-cell van-cell--clickable"
|
||||||
role="button"
|
role="button"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
>
|
>
|
||||||
<div class="van-cell__value van-cell__value--alone">
|
<div class="van-cell__value van-cell__value--alone">
|
||||||
Show Keyboard With Sidebar
|
Show Keyboard With Sidebar
|
||||||
</div>
|
</div>
|
||||||
<i class="van-badge__wrapper van-icon van-icon-arrow van-cell__right-icon">
|
<i class="van-badge__wrapper van-icon van-icon-arrow van-cell__right-icon">
|
||||||
</i>
|
</i>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-cell van-cell--clickable"
|
<div class="van-cell van-cell--clickable"
|
||||||
role="button"
|
role="button"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
>
|
>
|
||||||
<div class="van-cell__value van-cell__value--alone">
|
<div class="van-cell__value van-cell__value--alone">
|
||||||
Show IdNumber Keyboard
|
Show IdNumber Keyboard
|
||||||
</div>
|
</div>
|
||||||
<i class="van-badge__wrapper van-icon van-icon-arrow van-cell__right-icon">
|
<i class="van-badge__wrapper van-icon van-icon-arrow van-cell__right-icon">
|
||||||
</i>
|
</i>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-cell van-cell--clickable"
|
<div class="van-cell van-cell--clickable"
|
||||||
role="button"
|
role="button"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
>
|
>
|
||||||
<div class="van-cell__value van-cell__value--alone">
|
<div class="van-cell__value van-cell__value--alone">
|
||||||
Show Keyboard With Title
|
Show Keyboard With Title
|
||||||
</div>
|
</div>
|
||||||
<i class="van-badge__wrapper van-icon van-icon-arrow van-cell__right-icon">
|
<i class="van-badge__wrapper van-icon van-icon-arrow van-cell__right-icon">
|
||||||
</i>
|
</i>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-cell van-cell--clickable"
|
<div class="van-cell van-cell--clickable"
|
||||||
role="button"
|
role="button"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
>
|
>
|
||||||
<div class="van-cell__value van-cell__value--alone">
|
<div class="van-cell__value van-cell__value--alone">
|
||||||
Show Keyboard With Multiple ExtraKey
|
Show Keyboard With Multiple ExtraKey
|
||||||
</div>
|
</div>
|
||||||
<i class="van-badge__wrapper van-icon van-icon-arrow van-cell__right-icon">
|
<i class="van-badge__wrapper van-icon van-icon-arrow van-cell__right-icon">
|
||||||
</i>
|
</i>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-cell van-cell--clickable"
|
<div class="van-cell van-cell--clickable"
|
||||||
role="button"
|
role="button"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
>
|
>
|
||||||
<div class="van-cell__value van-cell__value--alone">
|
<div class="van-cell__value van-cell__value--alone">
|
||||||
Show Keyboard With Random Key Order
|
Show Keyboard With Random Key Order
|
||||||
</div>
|
</div>
|
||||||
<i class="van-badge__wrapper van-icon van-icon-arrow van-cell__right-icon">
|
<i class="van-badge__wrapper van-icon van-icon-arrow van-cell__right-icon">
|
||||||
</i>
|
</i>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-cell van-cell--clickable van-field"
|
<div class="van-cell van-cell--clickable van-field"
|
||||||
role="button"
|
role="button"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
>
|
>
|
||||||
<div class="van-cell__title van-field__label">
|
<div class="van-cell__title van-field__label">
|
||||||
<span>
|
<span>
|
||||||
Bind Value
|
Bind Value
|
||||||
@ -79,6 +80,7 @@ exports[`should render demo and match snapshot 1`] = `
|
|||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<transition-stub>
|
<transition-stub>
|
||||||
<div class="van-number-keyboard">
|
<div class="van-number-keyboard">
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<demo-block card>
|
||||||
<van-cell center :title="t('basicUsage')">
|
<van-cell center :title="t('basicUsage')">
|
||||||
<van-stepper v-model="stepper1" />
|
<van-stepper v-model="stepper1" />
|
||||||
</van-cell>
|
</van-cell>
|
||||||
@ -43,6 +44,7 @@
|
|||||||
disable-input
|
disable-input
|
||||||
/>
|
/>
|
||||||
</van-cell>
|
</van-cell>
|
||||||
|
</demo-block>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
exports[`should render demo and match snapshot 1`] = `
|
exports[`should render demo and match snapshot 1`] = `
|
||||||
<div class="van-cell van-cell--center">
|
<div>
|
||||||
|
<div class="van-cell van-cell--center">
|
||||||
<div class="van-cell__title">
|
<div class="van-cell__title">
|
||||||
<span>
|
<span>
|
||||||
Basic Usage
|
Basic Usage
|
||||||
@ -27,8 +28,8 @@ exports[`should render demo and match snapshot 1`] = `
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-cell van-cell--center">
|
<div class="van-cell van-cell--center">
|
||||||
<div class="van-cell__title">
|
<div class="van-cell__title">
|
||||||
<span>
|
<span>
|
||||||
Step
|
Step
|
||||||
@ -54,8 +55,8 @@ exports[`should render demo and match snapshot 1`] = `
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-cell van-cell--center">
|
<div class="van-cell van-cell--center">
|
||||||
<div class="van-cell__title">
|
<div class="van-cell__title">
|
||||||
<span>
|
<span>
|
||||||
Range
|
Range
|
||||||
@ -81,8 +82,8 @@ exports[`should render demo and match snapshot 1`] = `
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-cell van-cell--center">
|
<div class="van-cell van-cell--center">
|
||||||
<div class="van-cell__title">
|
<div class="van-cell__title">
|
||||||
<span>
|
<span>
|
||||||
Integer
|
Integer
|
||||||
@ -108,8 +109,8 @@ exports[`should render demo and match snapshot 1`] = `
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-cell van-cell--center">
|
<div class="van-cell van-cell--center">
|
||||||
<div class="van-cell__title">
|
<div class="van-cell__title">
|
||||||
<span>
|
<span>
|
||||||
Disabled
|
Disabled
|
||||||
@ -136,8 +137,8 @@ exports[`should render demo and match snapshot 1`] = `
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-cell van-cell--center">
|
<div class="van-cell van-cell--center">
|
||||||
<div class="van-cell__title">
|
<div class="van-cell__title">
|
||||||
<span>
|
<span>
|
||||||
Disable Input
|
Disable Input
|
||||||
@ -164,8 +165,8 @@ exports[`should render demo and match snapshot 1`] = `
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-cell van-cell--center">
|
<div class="van-cell van-cell--center">
|
||||||
<div class="van-cell__title">
|
<div class="van-cell__title">
|
||||||
<span>
|
<span>
|
||||||
Decimal Length
|
Decimal Length
|
||||||
@ -191,8 +192,8 @@ exports[`should render demo and match snapshot 1`] = `
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-cell van-cell--center">
|
<div class="van-cell van-cell--center">
|
||||||
<div class="van-cell__title">
|
<div class="van-cell__title">
|
||||||
<span>
|
<span>
|
||||||
Custom Size
|
Custom Size
|
||||||
@ -221,8 +222,8 @@ exports[`should render demo and match snapshot 1`] = `
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-cell van-cell--center">
|
<div class="van-cell van-cell--center">
|
||||||
<div class="van-cell__title">
|
<div class="van-cell__title">
|
||||||
<span>
|
<span>
|
||||||
Before Change
|
Before Change
|
||||||
@ -248,8 +249,8 @@ exports[`should render demo and match snapshot 1`] = `
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="van-cell van-cell--center">
|
<div class="van-cell van-cell--center">
|
||||||
<div class="van-cell__title">
|
<div class="van-cell__title">
|
||||||
<span>
|
<span>
|
||||||
Round Theme
|
Round Theme
|
||||||
@ -279,5 +280,6 @@ exports[`should render demo and match snapshot 1`] = `
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user