Vuetify в-файл-ввод с помощью функции append-внешняя-иконка


Vuetify в-файл-ввод с помощью функции append-внешняя-иконка

02.12.2020 12:09:15 Просмотров 69 Источник

Я хотел изменить значок ввода v-файла и поместить его позади. Поэтому я использовал "append-outer-icon", чтобы изменить значок и место, но Если я нажму на значок, ничего не произойдет. Я хотел нажать кнопку "Добавить-внешний-значок" и открыть папку, как нажать кнопку "добавить-значок". Мой пример кода приведен ниже.

<template>
<v-file-input
                prepend-icon=""
                append-outer-icon="mdi-folder-open"
              ></v-file-input>
</template>

Может ли кто-нибудь дать мне совет?

У вопроса есть решение - Посмотреть?

Ответы - Vuetify в-файл-ввод с помощью функции append-внешняя-иконка / Vuetify V-File-input with append-outer-icon

Boussadjra Brahim

02.12.2020 12:34:48

Добавьте ссылку на вход файла и запустите его с помощью click:append-outer :

<v-file-input
                prepend-icon=""
                append-outer-icon="mdi-folder-open"
               ref="file"
              @click:append-outer="this.$refs.file.$el.querySelector('input').click()"
              ></v-file-input>

var app = new Vue({
  el: '#app',
  vuetify: new Vuetify(),
methods:{
  open(){
 this.$refs.file.$el.querySelector('input').click()

 
  }
}
})
#app{
width:200px;
padding:16px
}
<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/@mdi/font@5.x/css/materialdesignicons.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.min.css" rel="stylesheet">

<script src="https://cdn.jsdelivr.net/npm/vue@2.x/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.js"></script>

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<div id="app">
  <v-file-input prepend-icon="" append-outer-icon="mdi-folder-open" ref="file" @click:append-outer="open"></v-file-input>
</div>

Является ответом!
Dan

02.12.2020 12:40:12

Вы можете сделать это с помощью чистого CSS. Используйте только prepend-icon вместе с:

.v-file-input {
  flex-direction: row-reverse;
}

Демонстрация:

new Vue({
  vuetify: new Vuetify(),
  el: "#app"
})
.v-file-input {
  flex-direction: row-reverse;
}
<div id="app">
  <br /><br />
  <v-app id="inspire">
    <v-file-input prepend-icon="mdi-folder-open"
             ></v-file-input>
  </v-app>
</div>

<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/@mdi/font@4.x/css/materialdesignicons.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/vue@2.x/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.js"></script>

Помочь в развитии проекта:
Закрыть X