feat: fullData页内添加复制与分词功能 调整prop内容

This commit is contained in:
ZiuChen
2022-09-04 22:53:31 +08:00
parent 52a3005d7e
commit 00ecb8f0f9
3 changed files with 68 additions and 17 deletions

View File

@@ -1,12 +1,23 @@
<template>
<div class="clip-full-data">
<Transition name="fade">
<div class="clip-full" v-show="isShow">
<div v-if="fullData.type === 'text'">
<div v-text="fullData.data"></div>
<div class="clip-full-wrapper" v-show="isShow">
<div class="clip-full-operate-list">
<template v-for="{ id, name } of btns">
<div
class="clip-full-operate-list-item"
v-if="id !== 'word-split' || (id === 'word-split' && fullData.type !== 'file')"
@click="handleBtnClick(id)"
>
{{ name }}
</div>
</template>
</div>
<div v-else>
<FileList :data="fullData.data"></FileList>
<template v-if="fullData.type === 'text'">
<div class="clip-full-content" v-text="fullData.data"></div>
</template>
<div v-else class="clip-full-content">
<FileList :data="JSON.parse(fullData.data)"></FileList>
</div>
</div>
</Transition>
@@ -32,6 +43,28 @@ const props = defineProps({
const emit = defineEmits(['onOverlayClick'])
const onOverlayClick = () => emit('onOverlayClick')
const btns = [
{
id: 'copy-all',
name: '📄 复制全部'
},
{
id: 'word-split',
name: '🎁 智慧分词'
}
]
const handleBtnClick = (id) => {
switch (id) {
case 'copy-all':
window.copy(props.fullData)
emit('onOverlayClick') // 退出侧栏
break
case 'word-split':
window.alert('增值服务 Comming Soon...')
break
}
}
onMounted(() => {
document.addEventListener('keydown', (e) => {
const { key } = e