【发布时间】:2021-04-29 22:44:27
【问题描述】:
我想使用 v-tooltip,当我通过 v-file-input 输入文件并将鼠标悬停在文件名上时, 文件名将像 v-tool-tip 一样弹出。 所以我尝试使代码如下。
<template>
<v-row>
<v-col cols="4">file_Add_Sample_Code</v-col>
<v-col cols="6" class="pl-0 py-2">
<v-tooltip bottom v-model="showTooltip">
<template v-slot:activator="{ on, attrs }">
<v-file-input
accept="application/zip"
v-model="fileName"
@change="getFileObject"
truncate-length="22"
style="flex-direction: row-reverse"
v-bind="attrs"
v-on="on"
@mouseover="showTooltip = !showTooltip"
>
</v-file-input>
</template>
<span>{{ fileName }}</span>
</v-tooltip>
</v-col>
<v-col cols="2" class="pl-0"></v-col>
</v-row>
</template>
<script lang="ts">
import { Component, Vue } from 'nuxt-property-decorator'
@Component({})
export default class extends Vue {
showTooltip: boolean = false
fileName: string = ''
async getFileObject(file:File) {
this.fileName = await file.name
}
}
</script>
我运行此代码并输入文件,文件输入成功,工具提示显示但从未消失。 所以,我认为在我的代码中使用 JS 中的事件处理程序谎言 @mouseover 是正确的我的问题,但它似乎不起作用。 我的目标是当我将鼠标悬停在文件输入标签上,然后工具提示显示为Vuetify's tooltip sample 有人给我建议吗?
【问题讨论】:
-
您是否有理由不使用
v-file-input的正常功能在控件中显示文件名? -
感谢cmets,抱歉回复晚了!在我最新的项目中,我需要获取文件对象以将其放入 RestAPI。所以,我在我的代码中使用了“getFileObject”方法。对不起,缺少信息。
标签: javascript typescript vue.js vuetify.js