Skip to content

Commit 10fc6e3

Browse files
committed
fix(preview): #196; !#zh: 预览模块支持长页面 !#en: support long page
1 parent 3b894fd commit 10fc6e3

File tree

1 file changed

+36
-28
lines changed

1 file changed

+36
-28
lines changed

front-end/h5/src/engine-entry.js

+36-28
Original file line numberDiff line numberDiff line change
@@ -30,34 +30,54 @@ const Engine = {
3030
components: {
3131
NodeWrapper
3232
},
33+
data() {
34+
return {
35+
isLongPage: window.__work.mode === 'h5_long_page',
36+
}
37+
},
3338
methods: {
34-
renderPreview (h, _elements) {
35-
const isLongPage = window.__work.mode === 'h5_long_page'
36-
const elements = _elements.map(element => new Element(element))
39+
renderLongPage () {
40+
const work = window.__work
41+
return this.renderPreview(work.pages[0].elements)
42+
},
43+
renderSwiperPage () {
44+
const work = window.__work
45+
return (
46+
<div class="swiper-container">
47+
<div class="swiper-wrapper">{
48+
work.pages.map(page => {
49+
return (
50+
<section class="swiper-slide flat">
51+
{/* this.walk(h, page.elements) */}
52+
{ this.renderPreview(page.elements) }
53+
</section>
54+
)
55+
})
56+
}</div>
57+
<div class="swiper-pagination"></div>
58+
</div>
59+
)
60+
},
61+
renderPreview (pageElements) {
3762
let pageWrapperStyle = {
3863
height: '100%',
3964
position: 'relative'
4065
}
4166

42-
if (isLongPage) {
67+
if (this.isLongPage) {
4368
pageWrapperStyle = {
4469
...pageWrapperStyle,
4570
'overflow-y': 'scroll'
4671
}
4772
}
4873

74+
const elements = pageElements.map(element => new Element(element))
4975
return (
5076
<div style={pageWrapperStyle}>
5177
{
5278
elements.map((element, index) => {
53-
// const style = element.getStyle({ position: 'absolute', isRem: true })
54-
// const data = {
55-
// style,
56-
// props: element.getProps({ mode: 'preview' })
57-
// }
58-
// return h(element.name, data)
5979
return <node-wrapper element={element}>
60-
{h(element.name, element.getPreviewData({ position: 'static' }))}
80+
{this.$createElement(element.name, element.getPreviewData({ position: 'static' }))}
6181
</node-wrapper>
6282
})
6383
}
@@ -67,23 +87,11 @@ const Engine = {
6787
},
6888
render (h) {
6989
const work = window.__work
70-
return (
71-
<div id="work-container" data-work-id={work.id}>
72-
<div class="swiper-container">
73-
<div class="swiper-wrapper">{
74-
work.pages.map(page => {
75-
return (
76-
<section class="swiper-slide flat">
77-
{/* this.walk(h, page.elements) */}
78-
{ this.renderPreview(h, page.elements) }
79-
</section>
80-
)
81-
})
82-
}</div>
83-
<div class="swiper-pagination"></div>
84-
</div>
85-
</div>
86-
)
90+
return <div id="work-container" data-work-id={work.id}>
91+
{
92+
this.isLongPage ? this.renderLongPage() : this.renderSwiperPage()
93+
}
94+
</div>
8795
}
8896
}
8997

0 commit comments

Comments
 (0)