diff --git a/front-end/h5/src/engine-entry.js b/front-end/h5/src/engine-entry.js index cca4b068..81a82e63 100644 --- a/front-end/h5/src/engine-entry.js +++ b/front-end/h5/src/engine-entry.js @@ -30,34 +30,54 @@ const Engine = { components: { NodeWrapper }, + data() { + return { + isLongPage: window.__work.mode === 'h5_long_page', + } + }, methods: { - renderPreview (h, _elements) { - const isLongPage = window.__work.mode === 'h5_long_page' - const elements = _elements.map(element => new Element(element)) + renderLongPage () { + const work = window.__work + return this.renderPreview(work.pages[0].elements) + }, + renderSwiperPage () { + const work = window.__work + return ( +
+
{ + work.pages.map(page => { + return ( +
+ {/* this.walk(h, page.elements) */} + { this.renderPreview(page.elements) } +
+ ) + }) + }
+
+
+ ) + }, + renderPreview (pageElements) { let pageWrapperStyle = { height: '100%', position: 'relative' } - if (isLongPage) { + if (this.isLongPage) { pageWrapperStyle = { ...pageWrapperStyle, 'overflow-y': 'scroll' } } + const elements = pageElements.map(element => new Element(element)) return (
{ elements.map((element, index) => { - // const style = element.getStyle({ position: 'absolute', isRem: true }) - // const data = { - // style, - // props: element.getProps({ mode: 'preview' }) - // } - // return h(element.name, data) return - {h(element.name, element.getPreviewData({ position: 'static' }))} + {this.$createElement(element.name, element.getPreviewData({ position: 'static' }))} }) } @@ -67,23 +87,11 @@ const Engine = { }, render (h) { const work = window.__work - return ( -
-
-
{ - work.pages.map(page => { - return ( -
- {/* this.walk(h, page.elements) */} - { this.renderPreview(h, page.elements) } -
- ) - }) - }
-
-
-
- ) + return
+ { + this.isLongPage ? this.renderLongPage() : this.renderSwiperPage() + } +
} }