[improvement] SwipeItem: jsx (#2652)

This commit is contained in:
neverland 2019-01-30 20:27:47 +08:00 committed by GitHub
parent 76e23aefc6
commit 70caee3dd5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 35 additions and 42 deletions

View File

@ -0,0 +1,35 @@
import { use } from '../utils';
const [sfc, bem] = use('swipe-item');
export default sfc({
data() {
return {
offset: 0
};
},
beforeCreate() {
this.$parent.swipes.push(this);
},
destroyed() {
this.$parent.swipes.splice(this.$parent.swipes.indexOf(this), 1);
},
render(h) {
const { vertical } = this.$parent;
const style = {
width: this.computedWidth + 'px',
height: vertical ? this.computedHeight + 'px' : '100%',
transform: `translate${vertical ? 'Y' : 'X'}(${this.offset}px)`
};
return (
<div class={bem()} style={style}>
{this.$slots.default}
</div>
);
}
});

View File

@ -1,42 +0,0 @@
<template>
<div
:class="b()"
:style="style"
>
<slot />
</div>
</template>
<script>
import create from '../utils/create';
export default create({
name: 'swipe-item',
data() {
return {
offset: 0
};
},
computed: {
style() {
const { vertical, computedWidth, computedHeight } = this.$parent;
return {
width: computedWidth + 'px',
height: vertical ? computedHeight + 'px' : '100%',
transform: `translate${vertical ? 'Y' : 'X'}(${this.offset}px)`
};
}
},
beforeCreate() {
this.$parent.swipes.push(this);
},
destroyed() {
this.$parent.swipes.splice(this.$parent.swipes.indexOf(this), 1);
}
});
</script>