mirror of
https://github.com/kuaifan/dootask.git
synced 2026-03-17 11:13:26 +00:00
perf: 优化消息移动端打开动画效果
This commit is contained in:
parent
c0ead0b891
commit
88163499fe
2
public/css/app.css
vendored
2
public/css/app.css
vendored
File diff suppressed because one or more lines are too long
2
public/js/app.js
vendored
2
public/js/app.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
|||||||
82de89ee83a1f523
|
57edae6a053a5119
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
<div class="page-messenger">
|
<div class="page-messenger">
|
||||||
<PageTitle :title="$L(tabActive==='dialog' ? '消息' : '通讯录')"/>
|
<PageTitle :title="$L(tabActive==='dialog' ? '消息' : '通讯录')"/>
|
||||||
<div class="messenger-wrapper">
|
<div class="messenger-wrapper">
|
||||||
<div class="messenger-select" :class="{'show768-menu':dialogId == 0}">
|
<div class="messenger-select">
|
||||||
<div class="messenger-search">
|
<div class="messenger-search">
|
||||||
<div class="search-wrapper">
|
<div class="search-wrapper">
|
||||||
<Input v-if="tabActive==='dialog'" prefix="ios-search" v-model="dialogKey" :placeholder="$L('搜索...')" clearable />
|
<Input v-if="tabActive==='dialog'" prefix="ios-search" v-model="dialogKey" :placeholder="$L('搜索...')" clearable />
|
||||||
@ -114,12 +114,12 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="messenger-msg">
|
<div class="messenger-msg" :class="{'show768':dialogId > 0}">
|
||||||
<div class="msg-dialog-bg">
|
<div class="msg-dialog-bg">
|
||||||
<div class="msg-dialog-bg-icon"><Icon type="ios-chatbubbles" /></div>
|
<div class="msg-dialog-bg-icon"><Icon type="ios-chatbubbles" /></div>
|
||||||
<div class="msg-dialog-bg-text">{{$L('选择一个会话开始聊天')}}</div>
|
<div class="msg-dialog-bg-text">{{$L('选择一个会话开始聊天')}}</div>
|
||||||
</div>
|
</div>
|
||||||
<DialogWrapper v-if="dialogId > 0" :dialogId="dialogId" @on-active="scrollIntoActive"/>
|
<DialogWrapper v-if="dialogTmpId > 0" :dialogId="dialogTmpId" @on-active="scrollIntoActive"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -144,6 +144,7 @@ export default {
|
|||||||
],
|
],
|
||||||
dialogActive: '',
|
dialogActive: '',
|
||||||
dialogKey: '',
|
dialogKey: '',
|
||||||
|
dialogTmpId: 0,
|
||||||
|
|
||||||
contactsKey: '',
|
contactsKey: '',
|
||||||
contactsLoad: 0,
|
contactsLoad: 0,
|
||||||
@ -258,12 +259,6 @@ export default {
|
|||||||
this.getContactsList(1);
|
this.getContactsList(1);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
dialogId(id) {
|
|
||||||
if (id > 0) {
|
|
||||||
$A.setStorage("messenger::dialogId", id);
|
|
||||||
this.scrollIntoActive()
|
|
||||||
}
|
|
||||||
},
|
|
||||||
contactsKey(val) {
|
contactsKey(val) {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
if (this.contactsKey == val) {
|
if (this.contactsKey == val) {
|
||||||
@ -271,7 +266,24 @@ export default {
|
|||||||
this.getContactsList(1);
|
this.getContactsList(1);
|
||||||
}
|
}
|
||||||
}, 600);
|
}, 600);
|
||||||
|
},
|
||||||
|
dialogId: {
|
||||||
|
handler(id) {
|
||||||
|
if (id > 0) {
|
||||||
|
this.dialogTmpId = id;
|
||||||
|
$A.setStorage("messenger::dialogId", id);
|
||||||
|
this.scrollIntoActive()
|
||||||
|
} else {
|
||||||
|
this.timerA && clearTimeout(this.timerA);
|
||||||
|
this.timerA = setTimeout(_ => {
|
||||||
|
if (this.dialogId == 0) {
|
||||||
|
this.dialogTmpId = 0;
|
||||||
}
|
}
|
||||||
|
}, 300)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
immediate: true
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
|||||||
13
resources/assets/sass/pages/page-messenger.scss
vendored
13
resources/assets/sass/pages/page-messenger.scss
vendored
@ -387,6 +387,7 @@
|
|||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
.page-messenger {
|
.page-messenger {
|
||||||
.messenger-wrapper {
|
.messenger-wrapper {
|
||||||
|
overflow-x: hidden;
|
||||||
.messenger-select {
|
.messenger-select {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 0;
|
top: 0;
|
||||||
@ -396,9 +397,15 @@
|
|||||||
max-width: none;
|
max-width: none;
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
z-index: 48;
|
z-index: 48;
|
||||||
transition: all 0.2s;
|
}
|
||||||
transform: translateX(-120%);
|
.messenger-msg {
|
||||||
&.show768-menu {
|
z-index: 49;
|
||||||
|
transition: transform 0.2s;
|
||||||
|
transform: translateX(120%);
|
||||||
|
.msg-dialog-bg {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
&.show768 {
|
||||||
transform: translateX(0);
|
transform: translateX(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user