elementPlus?的el-select在提示框關(guān)閉時(shí)自動(dòng)彈出的問(wèn)題解決
問(wèn)題:
當(dāng)el-select添加filterable屬性時(shí),彈提示窗時(shí),點(diǎn)擊確定后,下拉框會(huì)自動(dòng)彈出
分析:
主要問(wèn)題就是因?yàn)閒ilterable屬性,根本解決方案是選中的時(shí)候讓他失去焦點(diǎn) el-select有一個(gè)visible-change事件,下拉框出現(xiàn)/隱藏時(shí)觸發(fā)
解決:
增加了visible-change事件
change: (item) => { console.log('彈窗出select', item) if (item) { vm.$refs.select.focus() } else { vm.$refs.select.blur() } },
el-select事件最后增加焦點(diǎn)取消
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="請(qǐng)選擇" ref='select' @change="handleCustomerChange" :loading="false" @visible-change='change'> <!-- <el-select v-model="value" filterable placeholder="請(qǐng)選擇" 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('彈窗')">打開(kāi)對(duì)話框</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: '確認(rèn)', callback: (res) => { console.log('點(diǎn)擊了', res) } }) } const options = ref([{ value: '選項(xiàng)1', label: '黃金糕' }, { value: '選項(xiàng)2', label: '雙皮奶' }, { value: '選項(xiàng)3', label: '蚵仔煎' }, { value: '選項(xiàng)4', label: '龍須面' }, { value: '選項(xiàng)5', label: '北京烤鴨' }]) const value = ref('') const dialogVisible = ref(false) const handleClose = (done) => { console.log(done) this.$confirm('確認(rèn)關(guān)閉?') .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>
到此這篇關(guān)于elementPlus 的el-select在提示框關(guān)閉時(shí)自動(dòng)彈出閉時(shí)自動(dòng)彈出的文章就介紹到這了,更多相關(guān)elementPlus el-select提示框內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue中用H5實(shí)現(xiàn)文件上傳的方法實(shí)例代碼
本篇文章主要介紹了vue中用H5實(shí)現(xiàn)文件上傳的方法實(shí)例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05elementUI實(shí)現(xiàn)下拉選項(xiàng)加多選框的示例代碼
因產(chǎn)品需求和UI樣式調(diào)整,本文主要實(shí)現(xiàn)elementUI下拉選項(xiàng)加多選框的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10Vue中對(duì)比scoped css和css module的區(qū)別
這篇文章主要介紹了Vue中scoped css和css module的區(qū)別對(duì)比,scoped css可以直接在能跑起來(lái)的vue項(xiàng)目中使用而css module需要增加css-loader配置才能生效。具體內(nèi)容詳情大家參考下本文2018-05-05詳解Vue+Element的動(dòng)態(tài)表單,動(dòng)態(tài)表格(后端發(fā)送配置,前端動(dòng)態(tài)生成)
這篇文章主要介紹了Vue+Element動(dòng)態(tài)表單動(dòng)態(tài)表格,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04vue2使用el-date-picker實(shí)現(xiàn)動(dòng)態(tài)日期范圍demo
這篇文章主要為大家介紹了vue2使用el-date-picker實(shí)現(xiàn)動(dòng)態(tài)日期范圍示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06