@shijiu/jsview-vue-samples 2.3.151-test.0 → 3.0.0-test.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ABImageAlt/App.vue +114 -0
- package/ABImageAlt/Item.vue +133 -0
- package/{MetroWidgetDemos/SkeletonDiagram/assets/imageList.json → ABImageAlt/assets/imageList.js} +9 -1
- package/ABImageAlt/data.js +17 -0
- package/AI_Check_Rules.txt +5 -0
- package/AnimPicture/App.vue +20 -10
- package/ApicSwitch/App.vue +90 -0
- package/ApicSwitch/TabItem.vue +65 -0
- package/ApicSwitch/WebpShow.vue +24 -0
- package/ApicSwitch/data.js +50 -0
- package/Basic/AI_skills_update.md +1 -0
- package/Basic/components/div/ColorFormatTest.vue +93 -0
- package/Basic/components/div/DivRadius.vue +97 -15
- package/Basic/components/div/DivTag3Group.vue +30 -0
- package/Basic/components/img/ImageType.vue +65 -0
- package/Basic/components/panel/Panel2.vue +13 -1
- package/Basic/components/text/TextAlign.vue +7 -1
- package/BlobLoadTest/App.vue +201 -0
- package/BreakLinesApi/App.vue +82 -0
- package/CanvasDrawChart/App.vue +11 -0
- package/CanvasDrawChart/Graph1.vue +104 -0
- package/CanvasDrawChart/Graph2.vue +115 -0
- package/CssPreprocessor/Scss/PanelData.js +1 -1
- package/CssPreprocessor/Scss/components/scss-group4/ScssMaps.vue +4 -3
- package/CssPreprocessor/Scss/components/scss-group5/ScssImporting.vue +2 -2
- package/DemoForOperator/Bounce/FreeMoveBuilder.js +1 -1
- package/DemoForOperator/Firework1/App.vue +12 -1
- package/DemoForOperator/Firework1/Fireworks.vue +18 -0
- package/DemoForOperator/FlipPage/FlipPage/FlipPage.vue +1 -0
- package/DemoForOperator/Focus/Alpha/Item.vue +1 -0
- package/DemoForOperator/Focus/Light/Item.vue +1 -0
- package/DemoForOperator/Focus/Normal/Item.vue +1 -0
- package/DemoForOperator/FrameShadow/FrameShadow.vue +1 -1
- package/DemoForOperator/Genie/App.vue +20 -6
- package/DemoForOperator/Genie/App2.vue +61 -0
- package/DemoForOperator/Genie/geniePakcer/GenieImage.vue +298 -0
- package/DemoForOperator/Genie/geniePakcer/GenieSlot.vue +292 -0
- package/DemoForOperator/Genie/geniePakcer/GenieTools.ts +463 -0
- package/DemoForOperator/Jigsaw/JigsawFull.vue +12 -7
- package/DemoForOperator/Jigsaw/JigsawSingle.vue +13 -7
- package/DemoForOperator/LongChatBox/App.vue +13 -13
- package/DemoForOperator/LongChatBox/Bubble.vue +78 -66
- package/DemoForOperator/LongChatBox/LongChat.vue +68 -36
- package/DemoForOperator/LongChatBox/testData.js +7 -44
- package/DemoForOperator/Sound/Bounce/FreeMoveBuilder.js +1 -1
- package/DemoForOperator/routeList.js +8 -2
- package/DemoHomepage/App.vue +74 -1
- package/DemoHomepage/components/BodyFrame.vue +1 -0
- package/DemoHomepage/components/TabFrame.vue +1 -1
- package/DemoHomepage/router.js +723 -160
- package/DemoHomepage/views/Homepage.vue +60 -2
- package/DemoHomepage/watchTest.vue +50 -0
- package/FilterDemo/AnimatePic.vue +63 -17
- package/FilterDemo/App.vue +3 -3
- package/FlexCellDemo/AI_skills_update.md +4 -0
- package/FlexCellDemo/TestFrame1.vue +12 -2
- package/FlexCellDemo/TestFrame2.vue +10 -1
- package/FlexCellDemo/TestFrame3.vue +114 -59
- package/FpsLimit/App.vue +102 -0
- package/FreeMoveChildAttract/App.vue +18 -8
- package/FreeMoveLink/App.vue +49 -20
- package/Hover/App.vue +144 -0
- package/HttpRequestSSE/SSEReader.js +200 -0
- package/ImpactStop/App.vue +2 -2
- package/Input/FullKeyboard.vue +3 -3
- package/Input/InputPanel.vue +63 -3
- package/JsvLine/App.vue +53 -38
- package/LatexDemo/App.vue +3 -1
- package/LatexFormula/App.vue +196 -0
- package/LongImage/App.vue +1 -1
- package/LongImage/LongImageScroll.vue +100 -47
- package/LongImage/Scroll.vue +28 -9
- package/LongText/LongTextScroll.vue +1 -0
- package/Markdown/App.vue +36 -0
- package/Markdown/Bubble.vue +109 -0
- package/Markdown/LongChat.vue +206 -0
- package/Markdown/Markdown/Markdown.vue +156 -0
- package/Markdown/Markdown/index.ts +1 -0
- package/Markdown/Markdown/marked/LICENSE.md +45 -0
- package/Markdown/Markdown/marked/index.ts +2 -0
- package/Markdown/Markdown/marked/marked.d.ts +756 -0
- package/Markdown/Markdown/marked/marked.js +71 -0
- package/Markdown/Markdown/parser.ts +1365 -0
- package/Markdown/data.js +581 -0
- package/MetroWidgetDemos/AI_skills_update.md +2 -0
- package/MetroWidgetDemos/ListExpand/ChildItem.vue +130 -0
- package/MetroWidgetDemos/ListExpand/ExpandItem.vue +375 -0
- package/MetroWidgetDemos/ListExpand/ExpandItem1.vue +403 -0
- package/MetroWidgetDemos/ListExpand/assets/arrow-down.png +0 -0
- package/MetroWidgetDemos/ListExpand/assets/up-arrow.png +0 -0
- package/MetroWidgetDemos/ListExpand/components/WidgetListHandler.vue +150 -0
- package/MetroWidgetDemos/ListExpand/index.vue +88 -0
- package/MetroWidgetDemos/ListExpand/list.js +2421 -0
- package/MetroWidgetDemos/RefreshDemo/App.vue +14 -1
- package/MetroWidgetDemos/RenderAccelerate/App.vue +142 -0
- package/MetroWidgetDemos/RenderAccelerate/AppPage.vue +78 -0
- package/MetroWidgetDemos/RenderAccelerate/AppTab.vue +62 -0
- package/MetroWidgetDemos/RenderAccelerate/ContentItem.vue +409 -0
- package/MetroWidgetDemos/RenderAccelerate/Item.vue +67 -0
- package/MetroWidgetDemos/RenderAccelerate/TabItem.vue +100 -0
- package/MetroWidgetDemos/RenderAccelerate/ViewSwiper.vue +215 -0
- package/MetroWidgetDemos/RenderAccelerate/WidgetItem.vue +107 -0
- package/MetroWidgetDemos/SkeletonDiagram/App.vue +35 -8
- package/MetroWidgetDemos/SkeletonDiagram/Item.vue +11 -2
- package/MetroWidgetDemos/SkeletonDiagram/assets/imageList.js +245 -0
- package/MetroWidgetDemos/SkeletonDiagram/data.js +3 -3
- package/MetroWidgetDemos/SpatialNav/App.vue +177 -0
- package/MetroWidgetDemos/SpatialNav/Buttons.vue +83 -0
- package/MetroWidgetDemos/SpatialNav/CustomFocus.vue +57 -0
- package/MetroWidgetDemos/{TripleWidget → SpatialNav}/Item.vue +1 -8
- package/MetroWidgetDemos/{TripleWidget/WidgetItem.vue → SpatialNav/SimpleFloor.vue} +14 -45
- package/MetroWidgetDemos/SpatialNav/StepMw.vue +113 -0
- package/MetroWidgetDemos/SpatialNav/TabContent/TabContent.vue +185 -0
- package/MetroWidgetDemos/SpatialNav/TripleSection/TripleSection.vue +69 -0
- package/MetroWidgetDemos/SpatialNav/TripleSection/WidgetItem.vue +100 -0
- package/MetroWidgetDemos/SpatialNav/TvSection/List.vue +75 -0
- package/MetroWidgetDemos/SpatialNav/TvSection/TvSection.vue +91 -0
- package/MetroWidgetDemos/basic2/App.vue +407 -0
- package/MetroWidgetDemos/basic2/Item.vue +68 -0
- package/MetroWidgetDemos/direction/App.vue +22 -0
- package/MetroWidgetDemos/gazeFocusDiff/App.vue +126 -0
- package/MetroWidgetDemos/gazeFocusDiff/Item.vue +87 -0
- package/MetroWidgetDemos/minimalUsage/App.vue +66 -0
- package/MetroWidgetDemos/minimalUsage/Item.vue +54 -0
- package/MetroWidgetDemos/ninePatchFocusPage/App.vue +22 -7
- package/MetroWidgetDemos/ninePatchFocusPage/Item.vue +7 -5
- package/MetroWidgetDemos/ninePatchFocusPage/focusConstants.js +2 -0
- package/MetroWidgetDemos/routeList.js +203 -12
- package/MetroWidgetDemos/slideSetting/App.vue +288 -99
- package/MetroWidgetDemos/zIndex/App.vue +117 -0
- package/MetroWidgetDemos/zIndex/Item.vue +61 -0
- package/NinePatchTester/App.vue +24 -31
- package/PreDecode/App.vue +140 -0
- package/ReactiveTest/App.vue +115 -0
- package/ReactiveTest/Item.vue +92 -0
- package/ReactiveTest/assets/imageList.js +245 -0
- package/ReactiveTest/component/TestSmartDiv.vue +50 -0
- package/ReactiveTest/component/TestSmartDivSrcList.vue +74 -0
- package/ReactiveTest/component/TestSmartImage.vue +46 -0
- package/ReactiveTest/component/TestSmartImageSrcList.vue +90 -0
- package/ReactiveTest/component/TestSmartImageStyle.vue +41 -0
- package/ReactiveTest/data.js +49 -0
- package/ScreenToBlob/App.vue +250 -0
- package/SecTorTest/App.vue +9 -3
- package/SpringFestival/SpringFestivalScene/FreeMoveBuilder.js +3 -3
- package/SyncDecode/App.vue +137 -0
- package/TextSizeLimit/App.vue +211 -0
- package/TransitPage/App.vue +2 -0
- package/assets/logo.png +0 -0
- package/package.json +5 -5
- package/DemoForOperator/Genie/geniePakcer/Genie.vue +0 -741
- package/DemoForOperator/LongChatBox/TextManager.ts +0 -147
- package/DemoForOperator/LongChatBox/VirtualList.vue +0 -298
- package/DemoForOperator/LongChatBox/utile.js +0 -331
- package/DivMetroPerformance/App.vue +0 -157
- package/DivMetroPerformance/Item.vue +0 -58
- package/DivMetroPerformance/assets/bg.jpg +0 -0
- package/DivMetroPerformance/assets/coupon_content.png +0 -0
- package/DivMetroPerformance/assets/coupon_left.png +0 -0
- package/DivMetroPerformance/assets/coupon_mid.png +0 -0
- package/DivMetroPerformance/assets/coupon_right.png +0 -0
- package/DivMetroPerformance/assets/focus_border.png +0 -0
- package/DivMetroPerformance/assets/holder_logo.png +0 -0
- package/DivMetroPerformance/assets/jrbm.png +0 -0
- package/DivMetroPerformance/assets/line_left.png +0 -0
- package/DivMetroPerformance/assets/line_mid.png +0 -0
- package/DivMetroPerformance/assets/line_right.png +0 -0
- package/DivMetroPerformance/assets/loading.png +0 -0
- package/DivMetroPerformance/assets/logo.png +0 -0
- package/DivMetroPerformance/assets/mcjx.png +0 -0
- package/DivMetroPerformance/assets/tao.png +0 -0
- package/DivMetroPerformance/assets/tmall.png +0 -0
- package/DivMetroPerformance/border.png +0 -0
- package/DivMetroPerformance/components/ContentItem.vue +0 -384
- package/DivMetroPerformance/components/MyTab.vue +0 -129
- package/DivMetroPerformance/data.js +0 -124
- package/DivMetroPerformance/utils/GridItem.vue +0 -28
- package/DivMetroPerformance/utils/GridPlate.vue +0 -85
- package/MediaDemo/App.vue +0 -127
- package/MediaDemo/assets/audio-poster.png +0 -0
- package/MediaDemo/components/Button.vue +0 -69
- package/MediaDemo/components/Controllor.vue +0 -286
- package/MediaDemo/components/StatusBar.vue +0 -100
- package/MediaDemo/components/frames/AudioFrame.vue +0 -39
- package/MediaDemo/components/frames/AudioPoster.vue +0 -48
- package/MediaDemo/components/frames/MediaFrame.vue +0 -153
- package/MediaDemo/components/frames/VideoFrame.vue +0 -39
- package/MetroWidgetDemos/TripleWidget/App.vue +0 -87
- package/MetroWidgetDemos/TripleWidget/SWidgetItem.vue +0 -99
- package/Parkour/App.vue +0 -13
- package/Parkour/Common/Context.js +0 -21
- package/Parkour/Common/MatchmanInfo.js +0 -62
- package/Parkour/Common/Random.js +0 -61
- package/Parkour/Common/Sound.js +0 -50
- package/Parkour/appConfig/HOW_TO_CONFIG.md +0 -20
- package/Parkour/appConfig/app.config.mjs +0 -5
- package/Parkour/appConfig/app_sign_private_key_sample.crt +0 -28
- package/Parkour/appConfig/app_sign_public_key_sample.pem +0 -9
- package/Parkour/appConfig/jsview.config.mjs +0 -39
- package/Parkour/assets/Bgimages/bg1.png +0 -0
- package/Parkour/assets/Bgimages/bg2.png +0 -0
- package/Parkour/assets/Bgimages/bg3.png +0 -0
- package/Parkour/assets/Bgimages/bg4.png +0 -0
- package/Parkour/assets/Bgimages/bg5.png +0 -0
- package/Parkour/assets/audio/jump.mp3 +0 -0
- package/Parkour/assets/audio/lose.mp3 +0 -0
- package/Parkour/assets/role_skin1/fail.json +0 -44
- package/Parkour/assets/role_skin1/fail.png +0 -0
- package/Parkour/assets/role_skin1/jump_down.json +0 -20
- package/Parkour/assets/role_skin1/jump_down.png +0 -0
- package/Parkour/assets/role_skin1/jump_up.json +0 -44
- package/Parkour/assets/role_skin1/jump_up.png +0 -0
- package/Parkour/assets/role_skin1/roll.json +0 -44
- package/Parkour/assets/role_skin1/roll.png +0 -0
- package/Parkour/assets/role_skin1/run.json +0 -52
- package/Parkour/assets/role_skin1/run.png +0 -0
- package/Parkour/components/Backdrop.vue +0 -61
- package/Parkour/components/GameSence.vue +0 -602
- package/Parkour/components/Matchman.vue +0 -85
- package/ThrowMoveDemo/AccelerateDemo.vue +0 -85
- package/ThrowMoveDemo/App.vue +0 -104
- package/ThrowMoveDemo/LRParabolicDemo.vue +0 -101
- package/ThrowMoveDemo/TargetDemo.vue +0 -87
- package/ThrowMoveDemo/UDParabolicDemo.vue +0 -92
- /package/{AnimPicture/assets → assets}/animated_webp.webp +0 -0
- /package/{AnimPicture/assets → assets}/ball_3.webp +0 -0
- /package/{AnimPicture/assets → assets}/girl_run.gif +0 -0
- /package/{AnimPicture/assets → assets}/quan.webp +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import { computed, shallowRef, onActivated, onDeactivated } from "vue";
|
|
3
|
-
import { jJsvRuntimeBridge, EdgeDirection, useFocusHub } from "jsview";
|
|
2
|
+
import { computed, shallowRef, onActivated, onDeactivated, inject, watchEffect } from "vue";
|
|
3
|
+
import { jJsvRuntimeBridge, EdgeDirection, useFocusHub, JsvTextureStoreApi } from "jsview";
|
|
4
4
|
import { useRouter } from "vue-router";
|
|
5
5
|
import TabFrame from "../components/TabFrame.vue";
|
|
6
6
|
import BodyFrame from "../components/BodyFrame.vue";
|
|
@@ -146,6 +146,7 @@ let onDialogAction = (msg) => {
|
|
|
146
146
|
// keep-alive后 router 返回本页面时要激活一下focus
|
|
147
147
|
let focusNameOfDeactive = null;
|
|
148
148
|
onActivated(() => {
|
|
149
|
+
console.log("Homepage onActivated");
|
|
149
150
|
if (focusNameOfDeactive) {
|
|
150
151
|
focusHub.setFocus(focusNameOfDeactive);
|
|
151
152
|
focusNameOfDeactive = null;
|
|
@@ -153,12 +154,49 @@ onActivated(() => {
|
|
|
153
154
|
});
|
|
154
155
|
|
|
155
156
|
onDeactivated(() => {
|
|
157
|
+
console.log("Homepage onDeactivated");
|
|
158
|
+
|
|
159
|
+
// 清理'骨架图'截图资源
|
|
160
|
+
removeCaputureImage();
|
|
161
|
+
|
|
156
162
|
focusNameOfDeactive = focusHub.getDeactivedPageFocus();
|
|
157
163
|
});
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
// 追加骨架图截图测试项目
|
|
167
|
+
let rCaptureImage = inject("homeCaptureImage");
|
|
168
|
+
let vOriginCaptureImage = null;
|
|
169
|
+
watchEffect(() => {
|
|
170
|
+
// 监听'骨架图'截图资源变化,并清理旧资源
|
|
171
|
+
if (vOriginCaptureImage != rCaptureImage.value) {
|
|
172
|
+
if (vOriginCaptureImage != null) {
|
|
173
|
+
JsvTextureStoreApi.deleteTexture(vOriginCaptureImage);
|
|
174
|
+
}
|
|
175
|
+
vOriginCaptureImage = rCaptureImage.value;
|
|
176
|
+
console.log("capture_image new value", vOriginCaptureImage);
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
function removeCaputureImage() {
|
|
180
|
+
if (rCaptureImage.value != null) {
|
|
181
|
+
JsvTextureStoreApi.deleteTexture(rCaptureImage.value);
|
|
182
|
+
rCaptureImage.value = null;
|
|
183
|
+
vOriginCaptureImage = null;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
158
187
|
</script>
|
|
159
188
|
|
|
160
189
|
<template>
|
|
161
190
|
<div class="rootSize">
|
|
191
|
+
<!-- 测试keep-alive动画是否影响下个页面的项目 -->
|
|
192
|
+
<div :style="{
|
|
193
|
+
left: 10,
|
|
194
|
+
top: 600,
|
|
195
|
+
width: 100,
|
|
196
|
+
height: 100,
|
|
197
|
+
backgroundColor: 'rgba(128, 128, 0, 1)',
|
|
198
|
+
animation: 'AnimRotate 5s linear infinite'}"/>
|
|
199
|
+
|
|
162
200
|
<div class="address">
|
|
163
201
|
{{ address }}
|
|
164
202
|
</div>
|
|
@@ -168,6 +206,7 @@ onDeactivated(() => {
|
|
|
168
206
|
}}
|
|
169
207
|
</div>
|
|
170
208
|
|
|
209
|
+
|
|
171
210
|
<jsv-focus-block
|
|
172
211
|
autoFocus
|
|
173
212
|
:onAction="{
|
|
@@ -199,6 +238,13 @@ onDeactivated(() => {
|
|
|
199
238
|
/>
|
|
200
239
|
</div>
|
|
201
240
|
|
|
241
|
+
<div v-if="rCaptureImage" :style="{
|
|
242
|
+
left: 1280 - 320 - 10,
|
|
243
|
+
top: 720 - 180 - 10,
|
|
244
|
+
width: 320,
|
|
245
|
+
height: 180,
|
|
246
|
+
backgroundImage: `url(jsvtexturestore://${rCaptureImage})`}"/>
|
|
247
|
+
|
|
202
248
|
<Dialog
|
|
203
249
|
v-show="showExitDialog"
|
|
204
250
|
:name="name + '/exitDialog'"
|
|
@@ -231,4 +277,16 @@ onDeactivated(() => {
|
|
|
231
277
|
font-weight: bold;
|
|
232
278
|
text-align: right;
|
|
233
279
|
}
|
|
280
|
+
|
|
281
|
+
@keyframes AnimRotate {
|
|
282
|
+
from {
|
|
283
|
+
transform: rotate3d(0, 0, 1, -360deg);
|
|
284
|
+
transform-origin: center center;
|
|
285
|
+
}
|
|
286
|
+
to {
|
|
287
|
+
transform: rotate3d(0, 0, 1, 0);
|
|
288
|
+
transform-origin: center center;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
234
292
|
</style>
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
<script setup>
|
|
4
|
+
import { watch, watchEffect } from "vue";
|
|
5
|
+
|
|
6
|
+
const props = defineProps({
|
|
7
|
+
aValue: {
|
|
8
|
+
type: Number,
|
|
9
|
+
required: false
|
|
10
|
+
},
|
|
11
|
+
bValue: {
|
|
12
|
+
type: Number,
|
|
13
|
+
required: false
|
|
14
|
+
},
|
|
15
|
+
cValue: {
|
|
16
|
+
type: Number,
|
|
17
|
+
required: false
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
watch(() => props.aValue, (newVal, oldVal) => {
|
|
22
|
+
console.log('WatchTest aValue changed:', oldVal, '->', newVal);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
watch(() => props.bValue, (newVal, oldVal) => {
|
|
26
|
+
console.log('WatchTest bValue changed:', oldVal, '->', newVal);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
watch(() => props.cValue, (newVal, oldVal) => {
|
|
30
|
+
console.log('WatchTest cValue changed:', oldVal, '->', newVal);
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
watch(() => [props.aValue, props.cValue], (newVal, oldVal) => {
|
|
34
|
+
console.log('WatchTest aValue and cValue changed:', oldVal, '->', newVal);
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
watchEffect(() => {
|
|
38
|
+
console.log('WatchTest watchEffect: aValue=', props.aValue, ', bValue=', props.bValue, ', cValue=', props.cValue);
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
watchEffect(() => {
|
|
42
|
+
console.log('WatchTest watchEffect(A): aValue=', props.aValue);
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
</script>
|
|
47
|
+
|
|
48
|
+
<template>
|
|
49
|
+
<div></div>
|
|
50
|
+
</template>
|
|
@@ -8,27 +8,56 @@ const item_url = DemoResourceBase
|
|
|
8
8
|
</script>
|
|
9
9
|
|
|
10
10
|
<template>
|
|
11
|
-
<div
|
|
12
|
-
|
|
13
|
-
:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
11
|
+
<div :style="{
|
|
12
|
+
top:100,
|
|
13
|
+
left:0,
|
|
14
|
+
width: 600,
|
|
15
|
+
height: 80,
|
|
16
|
+
overflow: 'hidden',
|
|
17
|
+
}">
|
|
18
|
+
<div :style="{
|
|
19
|
+
// 坐标补偿
|
|
20
|
+
top:-50,
|
|
21
|
+
}">
|
|
22
|
+
<div
|
|
23
|
+
className="blockStyle"
|
|
24
|
+
:style="{
|
|
25
|
+
backgroundColor: '#0000FF',
|
|
26
|
+
animation: 'opacityDemo_CompositeNoOpacity 3s infinite',
|
|
27
|
+
}"
|
|
28
|
+
/>
|
|
29
|
+
<img
|
|
30
|
+
className="blockStyle"
|
|
31
|
+
:style="{
|
|
32
|
+
objectFit: 'contain',
|
|
33
|
+
animation: 'opacityDemo_CompositeOpacity 3s infinite',
|
|
34
|
+
}"
|
|
35
|
+
:src="item_url"
|
|
36
|
+
/>
|
|
37
|
+
|
|
38
|
+
<div
|
|
39
|
+
className="blockStyle"
|
|
40
|
+
:style="{
|
|
41
|
+
left: 200,
|
|
42
|
+
backgroundColor: '#0000FF',
|
|
43
|
+
animation: 'opacityDemo_Ortho_CompositeNoOpacity 3s infinite',
|
|
44
|
+
}"
|
|
45
|
+
/>
|
|
46
|
+
<img
|
|
47
|
+
className="blockStyle"
|
|
48
|
+
:style="{
|
|
49
|
+
left: 200,
|
|
50
|
+
objectFit: 'contain',
|
|
51
|
+
animation: 'opacityDemo_Ortho_CompositeOpacity 3s infinite',
|
|
52
|
+
}"
|
|
53
|
+
:src="item_url"
|
|
54
|
+
/>
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
26
57
|
</template>
|
|
27
58
|
|
|
28
59
|
<style scoped>
|
|
29
60
|
.blockStyle {
|
|
30
|
-
top: 50;
|
|
31
|
-
left: 50;
|
|
32
61
|
width: 150;
|
|
33
62
|
height: 150;
|
|
34
63
|
}
|
|
@@ -59,4 +88,21 @@ const item_url = DemoResourceBase
|
|
|
59
88
|
to {
|
|
60
89
|
}
|
|
61
90
|
}
|
|
91
|
+
|
|
92
|
+
@keyframes opacityDemo_Ortho_CompositeOpacity {
|
|
93
|
+
from {
|
|
94
|
+
transform: translate3d(50%, 30, 0) scale3d(1.5, 1.5, 1);
|
|
95
|
+
opacity: 0.1;
|
|
96
|
+
}
|
|
97
|
+
to {
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
@keyframes opacityDemo_Ortho_CompositeNoOpacity {
|
|
102
|
+
from {
|
|
103
|
+
transform: translate3d(50%, 30, 0) scale3d(1.5, 1.5, 1);
|
|
104
|
+
}
|
|
105
|
+
to {
|
|
106
|
+
}
|
|
107
|
+
}
|
|
62
108
|
</style>
|
package/FilterDemo/App.vue
CHANGED
|
@@ -89,14 +89,14 @@ onMounted(() => {
|
|
|
89
89
|
|
|
90
90
|
<jsv-filter-view
|
|
91
91
|
:top="400"
|
|
92
|
-
:width="
|
|
93
|
-
:height="
|
|
92
|
+
:width="602"
|
|
93
|
+
:height="602"
|
|
94
94
|
ref="filter2"
|
|
95
95
|
:filterType="filterType.type"
|
|
96
96
|
>
|
|
97
97
|
<div
|
|
98
98
|
:style="{
|
|
99
|
-
width:
|
|
99
|
+
width: 600,
|
|
100
100
|
height: 300,
|
|
101
101
|
backgroundImage: `url(${webpSample})`,
|
|
102
102
|
}"
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
读取 @shijiu/jsview-vue-samples/FlexCellDemo , JsvFlexDiv 是需要用flex属性的div的替代品(因为JsView的div或者img标签不支持flex相关的css属性)。将div 用到flex的场景,转为按照 @shijiu/jsview-vue-samples/FlexCellDemo 样例的写法归纳总结到 jsview-best-practices 这个skills中
|
|
2
|
+
|
|
3
|
+
再追加一条限制: JsvFlexDiv 只支持对齐直接子元素进行flex排版, 并不支持递归到所有的子, 如果需要多层flex排版, 要想 @shijiu/jsview-vue-samples/FlexCellDemo 里面那样写成 JsvFlexDiv 嵌套
|
|
4
|
+
|
|
@@ -62,20 +62,30 @@ const _onSizeTest1_2 = (width, height) => {
|
|
|
62
62
|
<!-- 测试主轴尺寸未给的场景下的撑大处理, 复用父节点的width -->
|
|
63
63
|
<jsv-flex-div
|
|
64
64
|
:key="rRefreshId"
|
|
65
|
-
:style="{ flexWrap: 'wrap' }"
|
|
65
|
+
:style="{ flexWrap: 'wrap', backgroundColor: 'rgba(0,128,200,0.5)' }"
|
|
66
66
|
:onSized="_onSizeTest1_2"
|
|
67
67
|
>
|
|
68
|
+
<!-- 开头一个空节点,测试width,height都不设置的div -->
|
|
69
|
+
<div :style="{backgroundColor: '#FFFFFF' }" />
|
|
70
|
+
|
|
71
|
+
<!-- 变形节点, 内含0x0和undefined的场景 -->
|
|
72
|
+
<div :style="{ width: rMyWidth, height: rMyHeight, backgroundColor: '#0000FF' }" />
|
|
68
73
|
<img :src="image5" :style="{ width: rMyWidth, height: rMyHeight }" />
|
|
74
|
+
|
|
69
75
|
<!-- <img :src="image5" :style="{ height: 0 }" /> -->
|
|
70
76
|
<img :src="image2" :style="{ height: 45 }" />
|
|
71
77
|
<div
|
|
72
78
|
id="DivAnchor"
|
|
73
79
|
:style="{ height: 60, width: 60, backgroundColor: '#FF0000' }"
|
|
74
80
|
/>
|
|
81
|
+
|
|
82
|
+
<!-- 中插一个空节点,测试width,height都不设置的div -->
|
|
83
|
+
<div :style="{backgroundColor: '#FFFFFF' }" />
|
|
84
|
+
|
|
75
85
|
<img :src="image1" :style="{ height: 45 }" />
|
|
76
86
|
<img :src="image1" :style="{ height: 45 }" />
|
|
77
87
|
</jsv-flex-div>
|
|
78
|
-
<
|
|
88
|
+
<div :style="{ backgroundImage:`url(${image3})` }" />
|
|
79
89
|
<!-- <img :src="image4" :style="{ height: 50 }" /> -->
|
|
80
90
|
</jsv-flex-div>
|
|
81
91
|
</div>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import { JsvFlexDiv } from "jsview";
|
|
2
|
+
import { JsvFlexDiv, JsvQrcode } from "jsview";
|
|
3
3
|
import image1 from "./images/1.png";
|
|
4
4
|
import image2 from "./images/2.png";
|
|
5
5
|
import image3 from "./images/3.png";
|
|
@@ -65,10 +65,19 @@ import image4 from "./images/4.jpg";
|
|
|
65
65
|
flexDirection: 'column',
|
|
66
66
|
alignSelf: 'stretch',
|
|
67
67
|
alignItems: 'flex-start',
|
|
68
|
+
backgroundColor: '#0000FF',
|
|
68
69
|
}"
|
|
69
70
|
>
|
|
70
71
|
<img :src="image1" :style="{ height: 50 }" />
|
|
71
72
|
<img :src="image1" :style="{ height: 50 }" />
|
|
73
|
+
<jsv-qrcode
|
|
74
|
+
value="https://jsview.shijiu.com"
|
|
75
|
+
:size="30"
|
|
76
|
+
:fgColor="'#000000'"
|
|
77
|
+
:bgColor="'#ffffff'"
|
|
78
|
+
:level="'M'"
|
|
79
|
+
sync="async"
|
|
80
|
+
/>
|
|
72
81
|
</jsv-flex-div>
|
|
73
82
|
|
|
74
83
|
<!-- 测试内容内嵌有子view -->
|
|
@@ -1,97 +1,152 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { onMounted, onBeforeUnmount, shallowRef } from "vue";
|
|
2
3
|
import { JsvFlexDiv } from "jsview";
|
|
3
4
|
import image1 from "./images/1.png";
|
|
4
5
|
import image2 from "./images/2.png";
|
|
5
6
|
import image3 from "./images/3.png";
|
|
6
7
|
import image4 from "./images/4.jpg";
|
|
8
|
+
|
|
9
|
+
let vInvToken = null;
|
|
10
|
+
let showText = shallowRef(true);
|
|
11
|
+
|
|
12
|
+
onMounted(() => {
|
|
13
|
+
vInvToken = setInterval(() => {
|
|
14
|
+
showText.value = !showText.value;
|
|
15
|
+
}, 1000);
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
onBeforeUnmount(() => {
|
|
19
|
+
if (vInvToken > 0) {
|
|
20
|
+
clearInterval(vInvToken);
|
|
21
|
+
vInvToken = -1;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
7
24
|
</script>
|
|
8
25
|
|
|
9
26
|
<template>
|
|
27
|
+
<div
|
|
28
|
+
:style="{
|
|
29
|
+
left: -50,
|
|
30
|
+
width: 350,
|
|
31
|
+
height: 400,
|
|
32
|
+
overflow: 'hidden'
|
|
33
|
+
}"
|
|
34
|
+
>
|
|
10
35
|
<div
|
|
11
36
|
:style="{
|
|
12
|
-
left:
|
|
13
|
-
width:
|
|
37
|
+
left: 50,
|
|
38
|
+
width: 300,
|
|
14
39
|
height: 400,
|
|
15
|
-
|
|
40
|
+
backgroundColor: 'rgba(100,100,100,0.5)',
|
|
41
|
+
fontSize: 12,
|
|
42
|
+
color: '#000000',
|
|
43
|
+
textAlign: 'center',
|
|
44
|
+
lineHeight: 16
|
|
16
45
|
}"
|
|
17
46
|
>
|
|
18
|
-
<div
|
|
47
|
+
<jsv-flex-div
|
|
19
48
|
:style="{
|
|
20
|
-
left: 50,
|
|
21
49
|
width: 300,
|
|
22
50
|
height: 400,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
textAlign: 'center',
|
|
27
|
-
lineHeight: 16,
|
|
51
|
+
flexDirection: 'column',
|
|
52
|
+
alignItems: 'flex-end',
|
|
53
|
+
justifyContent: 'center'
|
|
28
54
|
}"
|
|
29
55
|
>
|
|
30
|
-
|
|
56
|
+
<!-- 文字绘制区域超过容器尺寸的内容的测试 -->
|
|
57
|
+
<div
|
|
31
58
|
:style="{
|
|
32
|
-
width:
|
|
33
|
-
|
|
34
|
-
flexDirection: 'column',
|
|
35
|
-
alignItems: 'flex-end',
|
|
36
|
-
justifyContent: 'center',
|
|
59
|
+
width: 450,
|
|
60
|
+
backgroundColor: 'rgba(0, 50, 0, 0.5)'
|
|
37
61
|
}"
|
|
38
62
|
>
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}}
|
|
44
|
-
</div>
|
|
63
|
+
{{
|
|
64
|
+
"对于涉嫌借款或其他涉及财产的网络信息、账户密码、广告或推广等信息的,用户请谨慎对待并自行判断,基于前述原因您因此遭受的利润、商业信誉、资料损失或其他有形或无形损失的,我们不承担任何直接、间接、附带、特别、衍生性或惩罚性的赔偿责任。"
|
|
65
|
+
}}
|
|
66
|
+
</div>
|
|
45
67
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
68
|
+
<!-- 文字绘制区域未超过容器尺寸的内容的测试 -->
|
|
69
|
+
<div
|
|
70
|
+
:style="{
|
|
71
|
+
width: 250,
|
|
72
|
+
backgroundColor: 'rgba(0, 70, 0, 0.5)'
|
|
73
|
+
}"
|
|
74
|
+
>
|
|
75
|
+
{{
|
|
76
|
+
"对于涉嫌借款或其他涉及财产的网络信息、账户密码、广告或推广等信息的,用户请谨慎对待并自行判断,基于前述原因您因此遭受的利润、商业信誉、资料损失或其他有形或无形损失的,我们不承担任何直接、间接、附带、特别、衍生性或惩罚性的赔偿责任。"
|
|
77
|
+
}}
|
|
78
|
+
</div>
|
|
52
79
|
|
|
53
|
-
|
|
80
|
+
<!-- 超长折行文字测试点,文字字数大于3000字,最后一个字为'拾' -->
|
|
81
|
+
<div
|
|
82
|
+
:style="{
|
|
83
|
+
height: 16,
|
|
84
|
+
backgroundColor: 'rgba(0, 90, 0, 0.5)',
|
|
85
|
+
whiteSpace: 'nowrap'
|
|
86
|
+
}"
|
|
87
|
+
>
|
|
88
|
+
{{
|
|
89
|
+
"一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九拾"
|
|
90
|
+
}}
|
|
91
|
+
</div>
|
|
92
|
+
<!-- 短文字横向排布接续的测试 -->
|
|
93
|
+
<jsv-flex-div
|
|
94
|
+
:style="{
|
|
95
|
+
flexDirection: 'row',
|
|
96
|
+
alignItems: 'center',
|
|
97
|
+
backgroundColor: 'rgba(0, 110, 0, 0.5)',
|
|
98
|
+
alignSelf: 'center',
|
|
99
|
+
}"
|
|
100
|
+
>
|
|
101
|
+
<div :style="{ height: 16 }">
|
|
102
|
+
{{ "++一二三" }}
|
|
103
|
+
</div>
|
|
54
104
|
<div
|
|
105
|
+
v-show="showText"
|
|
55
106
|
:style="{
|
|
56
|
-
height:
|
|
57
|
-
|
|
58
|
-
|
|
107
|
+
height: 35,
|
|
108
|
+
lineHeight: 35,
|
|
109
|
+
fontSize: 32,
|
|
110
|
+
backgroundColor: 'rgba(10, 0, 0, 0.5)',
|
|
59
111
|
}"
|
|
60
112
|
>
|
|
61
|
-
{{
|
|
62
|
-
|
|
63
|
-
|
|
113
|
+
{{ "四五六" }}
|
|
114
|
+
</div>
|
|
115
|
+
<div :style="{ height: 16 }">
|
|
116
|
+
{{ "七八九++" }}
|
|
64
117
|
</div>
|
|
118
|
+
</jsv-flex-div>
|
|
65
119
|
|
|
66
|
-
|
|
67
|
-
|
|
120
|
+
<!-- 短文字横向排布接续的测试 -->
|
|
121
|
+
<jsv-flex-div
|
|
122
|
+
:style="{
|
|
123
|
+
flexDirection: 'row',
|
|
124
|
+
alignItems: 'center',
|
|
125
|
+
backgroundColor: 'rgba(0, 110, 0, 0.5)',
|
|
126
|
+
alignSelf: 'center',
|
|
127
|
+
}"
|
|
128
|
+
>
|
|
129
|
+
<div :style="{ height: 16 }">
|
|
130
|
+
{{ "++一二三" }}
|
|
131
|
+
</div>
|
|
132
|
+
<div
|
|
133
|
+
v-if="showText"
|
|
68
134
|
:style="{
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
135
|
+
height: 35,
|
|
136
|
+
lineHeight: 35,
|
|
137
|
+
fontSize: 32,
|
|
138
|
+
backgroundColor: 'rgba(10, 0, 0, 0.5)',
|
|
73
139
|
}"
|
|
74
140
|
>
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
height: 20,
|
|
81
|
-
lineHeight: 20,
|
|
82
|
-
fontSize: 18,
|
|
83
|
-
backgroundColor: 'rgba(10, 0, 0, 0.5)',
|
|
84
|
-
}"
|
|
85
|
-
>
|
|
86
|
-
{{ "四五六" }}
|
|
87
|
-
</div>
|
|
88
|
-
<div :style="{ height: 16 }">
|
|
89
|
-
{{ "七八九++" }}
|
|
90
|
-
</div>
|
|
91
|
-
</jsv-flex-div>
|
|
141
|
+
{{ "四五六" }}
|
|
142
|
+
</div>
|
|
143
|
+
<div :style="{ height: 16 }">
|
|
144
|
+
{{ "七八九++" }}
|
|
145
|
+
</div>
|
|
92
146
|
</jsv-flex-div>
|
|
93
|
-
</div>
|
|
147
|
+
</jsv-flex-div>
|
|
94
148
|
</div>
|
|
149
|
+
</div>
|
|
95
150
|
</template>
|
|
96
151
|
|
|
97
152
|
<style scoped></style>
|