javascript - Vue項目中如何使預查詢的顯示框隱藏
問題描述
Vue項目中,某個組件中的預查詢的List列表如何點擊除它自己外任意地方使該列表隱藏?
代碼如下:1.數據綁定處:
2.事件綁定:
3.有的同學會說,將輸入框設置失去焦點事件,,但是如圖的列表顯示,,想要點擊選中列表的值,會是的input先失去焦點,,會照成無法選中列表值的情況發生,,,4.各位路過的同學,瞅一眼啦
問題解答
回答1:我的項目
mounted () { /*** * 使得其點擊之外的部分自動收起 */ document.addEventListener(’click’, (e) => {if (!this.$el.contains(e.target)) { this.reset()} }) }
意思就是點擊不在這個組件內的區域收起彈出框,當然你可以把this.$el改成一個ref來判斷
回答2:document.addEventListener(’click’, function(e){ //通過判斷e.target 來判斷點擊的元素 當不屬于下拉框和輸入框的時候 隱藏下拉框})回答3:
考慮了之后我覺得 失焦 還是一個比較理想的事件。至于你說的想要點擊選中列表的值,會是的input先失去焦點,,會照成無法選中列表值的情況發生,,,在綁定的 focusout事件上添加代碼如下
eventHandler (event) { event.preventDefault() // 這里設置input 綁定的data this.bisible = false}
這樣應該可以解決問題。
回答4:嗯,那個人說的跟我的一樣
相關文章:
1. 求救一下,用新版的phpstudy,數據庫過段時間會消失是什么情況?2. php工具箱配置第二個vhost主機時不生效,報錯You don’t have permission3. php - mysql 模糊搜索問題4. html - 爬蟲時出現“DNS lookup failed”,打開網頁卻沒問題,這是什么情況?5. javascript - 在 vue里面用import引入js文件,結果為undefined6. [python2]local variable referenced before assignment問題7. javascript - js setTimeout在雙重for循環中如何使用?8. php - 微信開發驗證服務器有效性9. javascript - 我的站點貌似被別人克隆了, google 搜索特定文章,除了域名不一樣,其他的都一樣,如何解決?10. javascript - 求幫助 , ATOM不顯示界面!!!!
