11<template >
22 <div class =" inline-flex flex-wrap console-common cursor-default" >
33 <div v-if =" basicTypes.includes(type)" :class =" `console-${type}`" >
4- <span >{{ value }}</span >
4+ <template v-if =" type === ' string' && isLink " >
5+ <template v-for =" (item , index ) in linkPos " :key =" index " >
6+ <span class =" break-all" v-if =" !index" >{{ value.slice(0, item.start) }}</span >
7+ <a
8+ class =" console-link cursor-pointer break-all"
9+ :href =" value.slice(item.start, item.end)"
10+ target =" _blank"
11+ >{{ value.slice(item.start, item.end) }}</a >
12+ <span v-if =" index < linkPos!.length - 1" >{{ value.slice(item.end, linkPos![index + 1].start) }}</span >
13+ </template >
14+ </template >
15+ <template v-else >
16+ <span class =" break-all fill-w" >{{ value }}</span >
17+ </template >
518 </div >
619 <div v-else-if =" type === 'Array'" >
720 <!-- ▶ (6) [{...}, 1, "123", true, ƒ, Array(0)] -->
@@ -208,7 +221,7 @@ const foldMapData: IConsoleValueMapData[] = []
208221/** 展示的键值对数据(展开) */
209222const unfoldMapData: IConsoleValueMapData [] = []
210223// eslint-disable-next-line max-lines-per-function
211- const setData = () => {
224+ const setFoldData = () => {
212225 const { type, value, attrs = [], minLength, maxLength, size = 0 } = props
213226 switch (type ) {
214227 case " Array" : {
@@ -271,9 +284,15 @@ const setData = () => {
271284 }
272285 break
273286 }
287+ default : {}
274288 }
275289}
276- setData ()
290+
291+ const initData = () => {
292+ setFoldData ()
293+ }
294+
295+ initData ()
277296 </script >
278297
279298<style src="./console-value.scss " lang="scss" scoped></style >
0 commit comments