tangjinzhou
3 years ago
3 changed files with 115 additions and 0 deletions
@ -0,0 +1,94 @@
|
||||
<docs> |
||||
--- |
||||
order: 0 |
||||
title: |
||||
zh-CN: 高亮 |
||||
en-US: Highlight |
||||
--- |
||||
|
||||
## zh-CN |
||||
|
||||
搜索值高亮 |
||||
|
||||
## en-US |
||||
|
||||
Search Value Hightlight |
||||
|
||||
</docs> |
||||
|
||||
<template> |
||||
<a-tree-select |
||||
v-model:value="value" |
||||
v-model:searchValue="searchValue" |
||||
show-search |
||||
style="width: 100%" |
||||
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
||||
placeholder="Please select" |
||||
allow-clear |
||||
tree-default-expand-all |
||||
:tree-data="treeData" |
||||
> |
||||
<template #title="{ value: val, title }"> |
||||
<b v-if="val === 'parent 1-1'" style="color: #08c">sss</b> |
||||
<template v-else> |
||||
<template |
||||
v-for="(fragment, i) in title |
||||
.toString() |
||||
.split(new RegExp(`(?<=${searchValue})|(?=${searchValue})`, 'i'))" |
||||
> |
||||
<span |
||||
v-if="fragment.toLowerCase() === searchValue.toLowerCase()" |
||||
:key="i" |
||||
style="color: #08c" |
||||
> |
||||
{{ fragment }} |
||||
</span> |
||||
<template v-else>{{ fragment }}</template> |
||||
</template> |
||||
</template> |
||||
</template> |
||||
</a-tree-select> |
||||
</template> |
||||
<script lang="ts"> |
||||
import type { TreeSelectProps } from 'ant-design-vue'; |
||||
import { defineComponent, ref, watch } from 'vue'; |
||||
export default defineComponent({ |
||||
setup() { |
||||
const value = ref<string>(); |
||||
const treeData = ref<TreeSelectProps['treeData']>([ |
||||
{ |
||||
title: 'parent 1', |
||||
value: 'parent 1', |
||||
children: [ |
||||
{ |
||||
title: 'parent 1-0', |
||||
value: 'parent 1-0', |
||||
children: [ |
||||
{ |
||||
title: 'my leaf', |
||||
value: 'leaf1', |
||||
}, |
||||
{ |
||||
title: 'your leaf', |
||||
value: 'leaf2', |
||||
}, |
||||
], |
||||
}, |
||||
{ |
||||
title: 'parent 1-1', |
||||
value: 'parent 1-1', |
||||
}, |
||||
], |
||||
}, |
||||
]); |
||||
watch(value, () => { |
||||
console.log(value.value); |
||||
}); |
||||
return { |
||||
searchValue: ref(''), |
||||
value, |
||||
treeData, |
||||
}; |
||||
}, |
||||
}); |
||||
</script> |
Loading…
Reference in new issue