在输入元素中,我有一个带有链接到方法的@click事件的svg图标。但在点击时,它不会做任何事情。我也尝试过@click.prevent @click.native,但没有成功。将@click放在input元素中,使其在单击输入字段时工作。但是,我只希望在输入字段内的svg图标上触发一个单击事件。感谢你的帮助。
<input
class="w-full pl-10 pr-3 py-3 border border-transparent leading-5 bg-gray-600 text-gray-100 placeholder-gray-400 focus:outline-none focus:bg-white focus:text-gray-900 sm:text-md transition duration-150 ease-in-out"
type="text"
v-model="search"
@input="$emit('update:inputData', validatedSearch)"
@keyup.down="onArrowDown()"
@keyup.up="onArrowUp()"
/>
<div
class="absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none"
>
<svg
xmlns="http://www.w3.org/2000/svg"
v-show="search.length > 0"
class="h-5 w-5 text-gray-400"
stroke="currentColor"
viewBox="0 0 20 20"
@click="delSearch()"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M6 18L18 6M6 6l12 12"
/>
</svg>
</div>发布于 2021-02-10 19:36:25
来自tailwindcss的pointer-events-none类导致了这个问题,请尝试删除它:
Vue.config.devtools = false;
Vue.config.productionTip = false;
new Vue({
el: '#app',
data() {
return {
search: ""
}
},
methods: {
delSearch() {
console.log("delete search");
this.search=""
}
}
})<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet">
<div id="app">
<input class="border border-gray-500" type="text" v-model="search" />
<div class=" inset-y-0 right-0 pr-3 flex items-center ">
<svg xmlns="http://www.w3.org/2000/svg" v-show="search.length > 0" class="h-5 w-5 text-gray-400" stroke="currentColor" viewBox="0 0 20 20" @click="delSearch">
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M6 18L18 6M6 6l12 12"
/>
</svg>
</div>
</div>
https://stackoverflow.com/questions/66135840
复制相似问题