javascript - 使用 v-if 隐藏后,文件输入不会显示文件名

标签 javascript html input vue.js vuejs2

我正在创建一个 vue web 应用程序,我有一个简单的文件输入,但有一些逻辑,因此有人可以隐藏或显示文件输入。问题是一旦隐藏文件输入并再次显示,它就会删除文件名。当变量仍然保存文件时,文件名不显示。

这里是一些相关代码和 fiddle演示它。

<div id="app">
  <button @click="switch1=!switch1">switch1</button>
  <div v-if="switch1">
    <h4>Select an image</h4>
    <input type="file" @change="onFileChange">
  </div>
</div>

最佳答案

当您使用v-if时,输入不会隐藏,而是从DOM中删除。

要隐藏元素,请使用 v-show 代替:

<div id="app">
  <button @click="switch1=!switch1">switch1</button>
  <div v-show="switch1">
    <h4>Select an image</h4>
    <input type="file" @change="onFileChange">
  </div>
</div>

关于javascript - 使用 v-if 隐藏后,文件输入不会显示文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43612633/

相关文章:

javascript - 使用 jsPDF-AutoTable 插件将数据表转换为 pdf 时出现排除额外页面

jquery - 标题标签在 jQuery 3.0 及更高版本中显示为文本

javascript - 如何不允许在数字输入中键入字符串数据(边缘浏览器)

javascript - 输入类型文本 onfocus 函数未调用

javascript - 快速输入时 HTML INPUT 数据丢失

javascript - 奇怪的 jQuery 错误消息

javascript - 如何使用 Handlebars.net 注册 JavaScript 助手

javascript - 使用 @html.ActionLink 激活类

html - 如何在 Chrome 中禁用页面缩放

html - 确保较大 div 中两个 div 之间的线一直延伸到父 div 的底部