27
27
<div >
28
28
<label >collapsedOnClickBrackets</label >
29
29
<input type =" checkbox" v-model =" collapsedOnClickBrackets" >
30
+ </div >
31
+ <div >
32
+ <label >use custom link formatter</label >
33
+ <input type =" checkbox" v-model =" useCustomLinkFormatter" >
30
34
</div >
31
35
<div >
32
36
<label >deep</label >
48
52
:show-line =" showLine"
49
53
:highlight-mouseover-node =" highlightMouseoverNode"
50
54
:collapsed-on-click-brackets =" collapsedOnClickBrackets"
55
+ :custom-value-formatter =" useCustomLinkFormatter ? customLinkFormatter : null"
51
56
@click =" handleClick" >
52
57
</vue-json-pretty >
53
58
</div >
@@ -169,7 +174,8 @@ export default {
169
174
}, {
170
175
news_id: 51183 ,
171
176
title: ' Traffic paradise: How to design streets for people and unmanned vehicles in the future?' ,
172
- source: ' Netease smart'
177
+ source: ' Netease smart' ,
178
+ link: ' http://netease.smart/traffic-paradise/1235'
173
179
}, {
174
180
news_id: 51182 ,
175
181
title: ' Teslamask\' s American Business Relations: The government does not pay billions to build factories' ,
@@ -187,6 +193,7 @@ export default {
187
193
highlightSelectedNode: true ,
188
194
selectOnClickNode: true ,
189
195
collapsedOnClickBrackets: true ,
196
+ useCustomLinkFormatter: false ,
190
197
path: ' res' ,
191
198
deep: 3 ,
192
199
itemData: {},
@@ -228,6 +235,16 @@ export default {
228
235
},
229
236
handleChange (newVal , oldVal ) {
230
237
console .log (' newVal: ' , newVal, ' oldVal: ' , oldVal)
238
+ },
239
+ customLinkFormatter (data ) {
240
+ console .log (data)
241
+ console .log (data .startsWith (' http://' ))
242
+ console .log (data .startsWith (' http' ))
243
+ if (data .startsWith (' http://' )) {
244
+ return ` <a style="color:red;" href="${ data} ">"${ data} "</a>` ;
245
+ } else {
246
+ return null ;
247
+ }
231
248
}
232
249
}
233
250
}
0 commit comments