我想通过单击v-btn
触发隐藏的v-input-file
。我可以使用常规输入文件来实现,但我更喜欢使用v-input-file。这是我到目前为止所做的,但它不起作用。
<v-card-text class="pt-6" style="position: relative;">
<v-btn
absolute
color="orange"
class="white--text"
fab
small
right
top
@click="$refs.avatarInput.$el.click($event)"
>
<v-icon>mdi-camera</v-icon>
</v-btn>
<v-file-input
v-show="true"
ref="avatarInput"
accept="image/png, image/jpeg, image/bmp"
placeholder="Pick an avatar"
prepend-icon="mdi-camera"
label="Avatar"
></v-file-input>
</v-card-text>
2条答案
按热度按时间2uluyalo1#
由于安全原因,不能以这种方式触发
input[type="file"]
。查看此答案了解更多详情https://stackoverflow.com/a/29873845/553073
以下是一些选项:
1.使用
label
和for="idOfFileInput"
代替v-btn
,如果你喜欢,可以让它看起来像一个按钮。点击标签将触发文件输入。1.在文件输入上设置
z-index
和opacity=0
,并将其放置在按钮的正上方,因此当用户单击按钮时,文件输入会被单击。cgvd09ve2#
解决……