vant-Dialog 彈出框的使用小結(jié)
1,dialog全局注冊(cè), 然后在UserEdit.vue這個(gè)頁(yè)面使用 - 準(zhǔn)備彈出輸入框?qū)?/p>
<!-- 姓名部分 -->
<van-cell
title="名稱"
is-link
:value="profile.name"
@click="showNameDialogFn" />
<!-- 修改用戶名稱的對(duì)話框 -->
<van-dialog
v-model="isShowNameDialog"
title="修改名稱"
show-cancel-button
:before-close="onNameDialogBeforeClose">
<!-- 輸入框 -->
<van-field
v-model.trim="userName"
input-align="center"
maxlength="7"
placeholder="請(qǐng)輸入名稱"
v-fofo
/>
</van-dialog>
<script>
export default {
data () {
return {
isShowNameDialog: false, // 是否顯示姓名彈出框
userName: '' // 編輯用戶名
}
},
methods: {
// 點(diǎn)擊名字-出現(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(點(diǎn)擊按鈕區(qū)分)
if (action === 'confirm') {
// 確定
// unicode編碼 \u4092
// url編碼 %E2%C3%D1
if (/^[A-Za-z0-9\u4e00-\u9fa5]{1,7}$/.test(this.userName)) {
// 通過(guò)校驗(yàn)
// 調(diào)用接口
// 更新頁(yè)面顯示的名字
// 關(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,在通過(guò)校驗(yàn)位置, 調(diào)用接口更新
import { updateProfileAPI } from '@/api'
if (/^[A-Za-z0-9\u4e00-\u9fa5]{1,7}$/.test(this.userName)) {
// 通過(guò)校驗(yàn)
// 調(diào)用接口
await updateProfileAPI({
userName: this.userName
})
// 更新頁(yè)面顯示的名字
this.profileObj.name = this.userName
// 關(guān)閉彈窗
done()
}到此這篇關(guān)于vant-Dialog 彈出框的用法的文章就介紹到這了,更多相關(guān)vant-Dialog 彈出框內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
elementUI給el-tabs/el-tab-pane添加圖標(biāo)效果實(shí)例
這篇文章主要給大家介紹了關(guān)于elementUI給el-tabs/el-tab-pane添加圖標(biāo)效果實(shí)例的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用elementUI具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-07-07
Vuex數(shù)據(jù)持久化的兩種方式:手動(dòng)存儲(chǔ)和vuex-persistedstate插件詳解
這篇文章主要介紹了Vuex數(shù)據(jù)持久化的兩種方式:手動(dòng)存儲(chǔ)和vuex-persistedstate插件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08
VueJs監(jiān)聽(tīng)window.resize方法示例
本篇文章主要介紹了VueJs監(jiān)聽(tīng)window.resize方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
Vue的異步組件加載的實(shí)現(xiàn)方法小結(jié)
在 Vue 中,異步組件是指那些在需要時(shí)才會(huì)被加載的組件,與傳統(tǒng)的靜態(tài)組件不同,異步組件通過(guò)動(dòng)態(tài)加載的方式,可以有效地減少初始加載的資源和時(shí)間,在 Vue 中實(shí)現(xiàn)異步組件加載非常簡(jiǎn)單,開發(fā)者有多種方法可以做到,本文給大家介紹了一些常用的實(shí)現(xiàn)方法2024-11-11
vue實(shí)現(xiàn)token登錄驗(yàn)證的完整實(shí)例
最近公司新啟動(dòng)了個(gè)項(xiàng)目,用的是vue框架在做,下面這篇文章主要給大家介紹了關(guān)于vue實(shí)現(xiàn)token登錄驗(yàn)證的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04
解決ElementUI中tooltip出現(xiàn)無(wú)法顯示的問(wèn)題
這篇文章主要介紹了解決ElementUI中tooltip出現(xiàn)無(wú)法顯示的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03

