vant-Dialog 彈出框的使用小結(jié)
1,dialog全局注冊, 然后在UserEdit.vue這個頁面使用 - 準(zhǔn)備彈出輸入框?qū)?/p>
<!-- 姓名部分 --> <van-cell title="名稱" is-link :value="profile.name" @click="showNameDialogFn" /> <!-- 修改用戶名稱的對話框 --> <van-dialog v-model="isShowNameDialog" title="修改名稱" show-cancel-button :before-close="onNameDialogBeforeClose"> <!-- 輸入框 --> <van-field v-model.trim="userName" input-align="center" maxlength="7" placeholder="請輸入名稱" v-fofo /> </van-dialog> <script> export default { data () { return { isShowNameDialog: false, // 是否顯示姓名彈出框 userName: '' // 編輯用戶名 } }, methods: { // 點擊名字-出現(xiàn)彈出框 showNameDialogFn () { this.isShowNameDialog = true this.userName = this.profile.name // 設(shè)置默認(rèn)顯示內(nèi)容 }, // 姓名修改彈出層-關(guān)閉前方法 onNameDialogBeforeClose (action, done) { } } } </script>
2,在彈窗關(guān)閉方法里判斷
// 姓名修改彈出層-關(guān)閉前方法 async onNameDialogBeforeClose (action, done) { // action的值: confirm或cancel(點擊按鈕區(qū)分) if (action === 'confirm') { // 確定 // unicode編碼 \u4092 // url編碼 %E2%C3%D1 if (/^[A-Za-z0-9\u4e00-\u9fa5]{1,7}$/.test(this.userName)) { // 通過校驗 // 調(diào)用接口 // 更新頁面顯示的名字 // 關(guān)閉彈窗 done() } else { // 提示用戶 Notify({ type: 'warning', message: '用戶名中英文和數(shù)字1-7位' }) // 阻止彈窗關(guān)閉 done(false) } } else if (action === 'cancel') { // 取消 done() } }
3,定義接口方法
// 用戶 - 更新資料 export const updateProfileAPI = ({ birthday, userName }) => { return request({ url: '/v1_0/user/profile', method: 'PATCH', data: { birthday: birthday, name: userName } }) }
4,在通過校驗位置, 調(diào)用接口更新
import { updateProfileAPI } from '@/api' if (/^[A-Za-z0-9\u4e00-\u9fa5]{1,7}$/.test(this.userName)) { // 通過校驗 // 調(diào)用接口 await updateProfileAPI({ userName: this.userName }) // 更新頁面顯示的名字 this.profileObj.name = this.userName // 關(guān)閉彈窗 done() }
到此這篇關(guān)于vant-Dialog 彈出框的用法的文章就介紹到這了,更多相關(guān)vant-Dialog 彈出框內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
element-ui中el-row中設(shè)置:gutter間隔不生效問題
這篇文章主要介紹了element-ui中el-row中設(shè)置:gutter間隔不生效問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08vue移動端html5頁面根據(jù)屏幕適配的四種解決方法
在vue移動端h5頁面當(dāng)中,其中適配是經(jīng)常會遇到的問題,這塊主要有四個方法可以適用。這篇文章主要介紹了vue移動端h5頁面根據(jù)屏幕適配的四種方案 ,需要的朋友可以參考下2018-10-10vue-router中關(guān)于children的使用方法
這篇文章主要介紹了vue-router中關(guān)于children的使用方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08Composition API思想封裝NProgress示例詳解
這篇文章主要為大家介紹了Composition API思想封裝NProgress示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08