You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
1.9 KiB

4 years ago
<template>
<view class="u-demo">
<view class="u-demo-wrap">
<view class="u-demo-title">演示效果</view>
<view class="u-demo-area">
<u-button @click="openPage"></u-button>
</view>
</view>
<view class="u-config-wrap">
<view class="u-config-title u-border-bottom">
参数配置
</view>
<view class="u-config-item">
<view class="u-item-title">类型</view>
<u-subsection :list="['navigateTo', 'switchTab', 'navigateBack']" @change="typeChange"></u-subsection>
</view>
<view class="u-config-item">
<view class="u-item-title">携带参数(针对type=navigateTo)</view>
<u-subsection :list="['是', '否']" @change="paramsChange"></u-subsection>
</view>
<view class="u-config-item">
<view class="u-item-title">窗口动画(App且type=navigateTo||navigateBack时有效)</view>
<u-subsection :list="['是', '否']" @change="animateChange"></u-subsection>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
type: 'to',
params: {
age: 22,
name: '李商隐'
},
animate: 'slide-in-bottom',
url: ''
}
},
computed: {
jumpUrl() {
let url = '';
if(this.type == 'to') {
url = '/pages/library/route/routeTo';
} else if(this.type == 'tab') {
url = '/pages/example/template';
}
return url;
}
},
methods: {
openPage() {
this.$u.route({
type: this.type,
params: this.params,
url: this.jumpUrl,
animationType: this.animate
});
},
typeChange(index) {
this.type = index == 0 ? 'to' : index == 1 ? 'tab' : 'back';
},
paramsChange(index) {
if(!index) {
this.params = {
age: 22,
name: '李商隐'
}
} else {
this.params = {}
}
},
animateChange(index) {
this.animate = index == 0 ? 'slide-in-bottom' : '';
}
}
}
</script>
<style lang="scss" scoped>
.wrap {
padding: 24rpx;
}
</style>

Powered by TurnKey Linux.