elementPlus?的el-select在提示框關閉時自動彈出的問題解決
問題:
當el-select添加filterable屬性時,彈提示窗時,點擊確定后,下拉框會自動彈出
分析:
主要問題就是因為filterable屬性,根本解決方案是選中的時候讓他失去焦點 el-select有一個visible-change事件,下拉框出現(xiàn)/隱藏時觸發(fā)
解決:
增加了visible-change事件
change: (item) => { console.log('彈窗出select', item) if (item) { vm.$refs.select.focus() } else { vm.$refs.select.blur() } },
el-select事件最后增加焦點取消
vm.$refs.select.blur()
Html源碼
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script src="../js/vue3.3.8/vue.global.js"></script> <link rel="stylesheet" href="../js/elementPlus/index.css" rel="external nofollow" > <script src="../js/elementPlus/index.full.js"></script> <title></title> </head> <body> <div id="app"> <el-divider></el-divider> <el-select v-model="value" filterable remote reserve-keyword remote-show-suffix placeholder="請選擇" ref='select' @change="handleCustomerChange" :loading="false" @visible-change='change'> <!-- <el-select v-model="value" filterable placeholder="請選擇" ref='select'>--> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> <el-divider></el-divider> <el-button @click="showModal('彈窗')">打開對話框</el-button> <el-dialog title="提示" :visible.sync="dialogVisible" width="30%" :before-close="handleClose"> <span>這是一段信息</span> <span slot="footer" class="dialog-footer"> <el-button @click="dialogVisible = false">取 消</el-button> <el-button type="primary" @click="dialogVisible = false">確 定</el-button> </span> </el-dialog> </div> </body> <script type="module"> import zhCn from "../js/elementPlus/locale/zh-cn.mjs"; const {createApp, ref} = Vue const {ElMessageBox} = ElementPlus const app = createApp({ setup() { const showModal = (message) => { ElMessageBox.alert( message, '提示', { confirmButtonText: '確認', callback: (res) => { console.log('點擊了', res) } }) } const options = ref([{ value: '選項1', label: '黃金糕' }, { value: '選項2', label: '雙皮奶' }, { value: '選項3', label: '蚵仔煎' }, { value: '選項4', label: '龍須面' }, { value: '選項5', label: '北京烤鴨' }]) const value = ref('') const dialogVisible = ref(false) const handleClose = (done) => { console.log(done) this.$confirm('確認關閉?') .then(_ => { done(); }) .catch(_ => { }); } return { value, dialogVisible, options, showModal, handleClose, change: (item) => { console.log('彈窗出select', item) if (item) { vm.$refs.select.focus() } else { vm.$refs.select.blur() } }, handleCustomerChange: (e, item) => { console.log('變更select', e, item) let filters = options.value.filter(item => item.value = e) value.data = filters[0].lang vm.$refs.select.blur() } } } }) app.use(ElementPlus, {locale: zhCn}) const vm = app.mount('#app') </script> </html>
到此這篇關于elementPlus 的el-select在提示框關閉時自動彈出閉時自動彈出的文章就介紹到這了,更多相關elementPlus el-select提示框內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
elementUI實現(xiàn)下拉選項加多選框的示例代碼
因產(chǎn)品需求和UI樣式調(diào)整,本文主要實現(xiàn)elementUI下拉選項加多選框的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10Vue中對比scoped css和css module的區(qū)別
這篇文章主要介紹了Vue中scoped css和css module的區(qū)別對比,scoped css可以直接在能跑起來的vue項目中使用而css module需要增加css-loader配置才能生效。具體內(nèi)容詳情大家參考下本文2018-05-05詳解Vue+Element的動態(tài)表單,動態(tài)表格(后端發(fā)送配置,前端動態(tài)生成)
這篇文章主要介紹了Vue+Element動態(tài)表單動態(tài)表格,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04vue2使用el-date-picker實現(xiàn)動態(tài)日期范圍demo
這篇文章主要為大家介紹了vue2使用el-date-picker實現(xiàn)動態(tài)日期范圍示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06