File tree Expand file tree Collapse file tree 4 files changed +89
-0
lines changed
dev/components/components Expand file tree Collapse file tree 4 files changed +89
-0
lines changed Original file line number Diff line number Diff line change 1+ <template >
2+ <div class =" no-ssr-page layout-padding" >
3+ <div class =" q-title" >1. Basic</div >
4+ <q-no-ssr >
5+ <div >This won't be rendered on server</div >
6+ </q-no-ssr >
7+
8+ <div class =" q-title" >2. Multiple client nodes</div >
9+ <q-no-ssr >
10+ <div >This won't be rendered on server.</div >
11+ <div >This won't either.</div >
12+ </q-no-ssr >
13+
14+ <div class =" q-title" >3. Multiple client nodes with tag prop</div >
15+ <q-no-ssr tag =" blockquote" >
16+ <div >This won't be rendered on server.</div >
17+ <div >This won't either.</div >
18+ </q-no-ssr >
19+
20+ <div class =" q-title" >4. Placeholder prop</div >
21+ <q-no-ssr placeholder =" Rendered on server" >
22+ <div >This won't be rendered on server</div >
23+ </q-no-ssr >
24+
25+ <div class =" q-title" >5. Placeholder slot</div >
26+ <q-no-ssr >
27+ <div >This won't be rendered on server</div >
28+ <div slot =" placeholder" >Rendered on server</div >
29+ </q-no-ssr >
30+
31+ <div class =" q-title" >6. Multiple placeholder slot</div >
32+ <q-no-ssr >
33+ <div >This won't be rendered on server</div >
34+ <div slot =" placeholder" >Rendered on server (1/2)</div >
35+ <div slot =" placeholder" >Rendered on server (2/2)</div >
36+ </q-no-ssr >
37+
38+ <div class =" q-title" >7. Only placeholder slot</div >
39+ <q-no-ssr >
40+ <div slot =" placeholder" >Rendered on server</div >
41+ </q-no-ssr >
42+ </div >
43+ </template >
44+
45+ <style lang="stylus">
46+ .no-ssr-page
47+ .q-title
48+ margin-top 42px
49+ </style >
Original file line number Diff line number Diff line change @@ -28,6 +28,7 @@ export * from './components/knob'
2828export * from './components/layout'
2929export * from './components/list'
3030export * from './components/modal'
31+ export * from './components/no-ssr'
3132export * from './components/observables'
3233export * from './components/option-group'
3334export * from './components/pagination'
Original file line number Diff line number Diff line change 1+ import CanRenderMixin from '../../mixins/can-render'
2+
3+ export default {
4+ name : 'QNoSsr' ,
5+ mixins : [ CanRenderMixin ] ,
6+ props : {
7+ tag : {
8+ type : String ,
9+ default : 'div'
10+ } ,
11+ placeholder : String
12+ } ,
13+ render ( h ) {
14+ if ( this . canRender ) {
15+ const slot = this . $slots . default
16+ return slot && slot . length > 1
17+ ? h ( this . tag , slot )
18+ : ( slot ? slot [ 0 ] : null )
19+ }
20+
21+ if ( this . $slots . placeholder ) {
22+ const slot = this . $slots . placeholder
23+ return slot && slot . length > 1
24+ ? h ( this . tag , { staticClass : 'q-no-ssr-placeholder' } , slot )
25+ : ( slot ? slot [ 0 ] : null )
26+ }
27+
28+ if ( this . placeholder ) {
29+ return h ( this . tag , { staticClass : 'q-no-ssr-placeholder' } , [
30+ this . placeholder
31+ ] )
32+ }
33+ }
34+ }
Original file line number Diff line number Diff line change 1+ import QNoSsr from './QNoSsr'
2+
3+ export {
4+ QNoSsr
5+ }
You can’t perform that action at this time.
0 commit comments