diff --git a/packages/actionsheet/index.js b/packages/actionsheet/index.js
index c7223e553..6af3d1313 100644
--- a/packages/actionsheet/index.js
+++ b/packages/actionsheet/index.js
@@ -2,15 +2,14 @@ import { use } from '../utils';
import { PopupMixin } from '../mixins/popup';
import Icon from '../icon';
import Loading from '../loading';
+import Popup from '../popup';
const [sfc, bem] = use('actionsheet');
export default sfc({
- mixins: [PopupMixin],
-
props: {
+ ...PopupMixin.props,
title: String,
- value: Boolean,
actions: Array,
cancelText: String,
overlay: {
@@ -43,16 +42,12 @@ export default sfc({
},
render(h) {
- if (!this.shouldRender) {
- return;
- }
-
const { title, cancelText, onCancel } = this;
const Header = () => (
);
@@ -87,12 +82,17 @@ export default sfc({
);
return (
-
-
- {title ? Header() : this.actions.map(Option)}
- {Footer}
-
-
+ {
+ this.$emit('input', value);
+ }}
+ >
+ {title ? Header() : this.actions.map(Option)}
+ {Footer}
+
);
}
});
diff --git a/packages/actionsheet/index.less b/packages/actionsheet/index.less
index 81a1d5e42..2b033a5a0 100644
--- a/packages/actionsheet/index.less
+++ b/packages/actionsheet/index.less
@@ -1,23 +1,11 @@
@import '../style/var';
.van-actionsheet {
- position: fixed;
- left: 0;
- right: 0;
- bottom: 0;
- color: @text-color;
max-height: 90%;
- overflow-y: auto;
- -webkit-overflow-scrolling: touch;
- background-color: @background-color;
-
- &--withtitle {
- background-color: @white;
- }
+ color: @text-color;
&__item,
&__cancel {
- height: 50px;
line-height: 50px;
font-size: 16px;
text-align: center;
@@ -28,6 +16,10 @@
}
}
+ &__item {
+ height: 50px;
+ }
+
&__item--disabled {
color: @gray;
@@ -46,23 +38,26 @@
display: inline-block;
}
- &__cancel {
- margin-top: 10px;
+ &__cancel::before {
+ content: ' ';
+ display: block;
+ height: 10px;
+ background-color: @background-color;
}
&__header {
font-size: 16px;
line-height: 44px;
text-align: center;
+ }
- .van-icon-close {
- top: 0;
- right: 0;
- padding: 0 15px;
- font-size: 18px;
- color: @gray-dark;
- position: absolute;
- line-height: inherit;
- }
+ &__close {
+ top: 0;
+ right: 0;
+ padding: 0 15px;
+ font-size: 18px;
+ color: @gray-dark;
+ position: absolute;
+ line-height: inherit;
}
}
diff --git a/packages/actionsheet/test/__snapshots__/index.spec.js.snap b/packages/actionsheet/test/__snapshots__/index.spec.js.snap
index 0227cc076..6c38c7b27 100644
--- a/packages/actionsheet/test/__snapshots__/index.spec.js.snap
+++ b/packages/actionsheet/test/__snapshots__/index.spec.js.snap
@@ -1,7 +1,7 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`callback events 1`] = `
-
+