You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
3.0 KiB
Vue
109 lines
3.0 KiB
Vue
<template>
|
|
<view class="page-items">
|
|
<block v-for="(item, index) in items" :key="index">
|
|
<!-- 搜索框 -->
|
|
<block v-if="item.type === 'search'">
|
|
<Search :itemStyle="item.style" :params="item.params" />
|
|
</block>
|
|
<!-- 图片组 -->
|
|
<block v-if="item.type === 'image'">
|
|
<Images :itemStyle="item.style" :params="item.params" :dataList="item.data" />
|
|
</block>
|
|
<!-- 轮播图 -->
|
|
<block v-if="item.type === 'banner'">
|
|
<Banner :itemStyle="item.style" :params="item.params" :dataList="item.data" />
|
|
</block>
|
|
<!-- 图片橱窗 -->
|
|
<block v-if="item.type === 'window'">
|
|
<Window :itemStyle="item.style" :params="item.params" :dataList="item.data" />
|
|
</block>
|
|
<!-- 视频 -->
|
|
<block v-if="item.type === 'video'">
|
|
<Videos :itemStyle="item.style" :params="item.params" />
|
|
</block>
|
|
<!-- 文章组 -->
|
|
<block v-if="item.type === 'article'">
|
|
<Article :params="item.params" :dataList="item.data" />
|
|
</block>
|
|
<!-- 店铺公告 -->
|
|
<block v-if="item.type === 'notice'">
|
|
<Notice :itemStyle="item.style" :params="item.params" />
|
|
</block>
|
|
<!-- 导航 -->
|
|
<block v-if="item.type === 'navBar'">
|
|
<NavBar :itemStyle="item.style" :params="item.params" :dataList="item.data" />
|
|
</block>
|
|
<!-- 商品 -->
|
|
<block v-if="item.type === 'goods'">
|
|
<Goods :itemStyle="item.style" :params="item.params" :dataList="item.data" />
|
|
</block>
|
|
<!-- 在线客服 -->
|
|
<block v-if="item.type === 'service'">
|
|
<Service :itemStyle="item.style" :params="item.params" />
|
|
</block>
|
|
<!-- 辅助空白 -->
|
|
<block v-if="item.type === 'blank'">
|
|
<Blank :itemStyle="item.style" />
|
|
</block>
|
|
<!-- 辅助线 -->
|
|
<block v-if="item.type === 'guide'">
|
|
<Guide :itemStyle="item.style" />
|
|
</block>
|
|
<!-- 富文本 -->
|
|
<block v-if="item.type === 'richText'">
|
|
<RichText :itemStyle="item.style" :params="item.params" />
|
|
</block>
|
|
</block>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import Search from './search'
|
|
import Images from './image'
|
|
import Banner from './banner'
|
|
import Window from './window'
|
|
import Videos from './video'
|
|
import Article from './article'
|
|
import Notice from './notice'
|
|
import NavBar from './navBar'
|
|
import Goods from './goods'
|
|
import Service from './service'
|
|
import Blank from './blank'
|
|
import Guide from './guide'
|
|
import RichText from './richText'
|
|
|
|
export default {
|
|
name: "Page",
|
|
components: {
|
|
Search,
|
|
Images,
|
|
Banner,
|
|
Window,
|
|
Videos,
|
|
Article,
|
|
Notice,
|
|
NavBar,
|
|
Goods,
|
|
Service,
|
|
Blank,
|
|
Guide,
|
|
RichText
|
|
},
|
|
/**
|
|
* 组件的属性列表
|
|
* 用于组件自定义设置
|
|
*/
|
|
props: {
|
|
items: {
|
|
type: Array,
|
|
default () {
|
|
return []
|
|
}
|
|
}
|
|
},
|
|
}
|
|
</script>
|
|
<style lang="scss">
|
|
// 组件样式
|
|
</style>
|