如何移除Vuetify File Input组件的清除图标?
移除Vuetify v-file-input的清除图标
别担心,其实Vuetify的v-file-input是有办法禁用清除图标的,只是可能你之前的使用方式有点小问题。结合你的代码,给你几个可行的方案:
方案1:正确使用clearable布尔属性
你代码里写了clearable="false",但在Vue中,直接写字符串值的话,会被解析为真值(因为非空字符串都是true),所以组件仍然会显示清除图标。你需要用绑定的方式传入布尔值:
<v-file-input ref="profilePictureFileInput" v-model="profilePicture.file" :rules="profilePicture.rules" accept="image/png, image/jpeg, image/jpg" placeholder="Pick an image" prepend-icon="mdi-camera" label="Image" :clearable="false" <!-- 这里用:绑定,传入布尔false --> ></v-file-input>
这样设置后,清除图标应该就会消失了,这是官方推荐的方式。
方案2:用CSS强制隐藏(备用方案)
如果因为版本兼容或者其他原因,上面的方法没生效,你可以通过CSS来直接隐藏清除图标。针对你的特定组件,用ref来定位:
/* 针对你设置的ref对应的组件 */ #profilePictureFileInput .v-file-input__icon--clear { display: none !important; }
或者如果要全局禁用所有v-file-input的清除图标:
.v-file-input__icon--clear { display: none !important; }
这种方式属于样式层面的兜底方案,优先推荐用官方属性解决。
方案3:清理不必要的属性
你代码里加了append-inner-icon="",这个属性是用来设置自定义的右侧内图标,空字符串可能会保留图标容器。直接移除这个属性,配合:clearable="false",能更彻底地去掉右侧的图标元素。
试试上面的方法,应该就能解决你的问题啦!
内容的提问来源于stack exchange,提问作者Hafijur Rahman
相关产品推荐
相关产品推荐

