|
@@ -62,7 +62,15 @@ export default defineComponent({
|
|
|
/** 音乐列表 */
|
|
|
musics: [] as any[],
|
|
|
loading: true,
|
|
|
- finshed: false
|
|
|
+ finshed: false,
|
|
|
+
|
|
|
+ searchNoticeShow: false,
|
|
|
+ searchNotice: {
|
|
|
+ left: '',
|
|
|
+ top: '',
|
|
|
+ width: '',
|
|
|
+ height: ''
|
|
|
+ }
|
|
|
});
|
|
|
const downRef = ref();
|
|
|
// 返回
|
|
@@ -165,6 +173,16 @@ export default defineComponent({
|
|
|
getMusicList();
|
|
|
};
|
|
|
|
|
|
+ const setSearchBox = () => {
|
|
|
+ const el = document.querySelector('.searchNotice .van-field__control');
|
|
|
+ if (el) {
|
|
|
+ const rect = el.getBoundingClientRect();
|
|
|
+ data.searchNotice.left = rect.x + 'px';
|
|
|
+ data.searchNotice.top = rect.y + 'px';
|
|
|
+ data.searchNotice.width = rect.width + 'px';
|
|
|
+ data.searchNotice.height = rect.height + 'px';
|
|
|
+ }
|
|
|
+ };
|
|
|
onMounted(async () => {
|
|
|
await getMusicSheetCategories();
|
|
|
getMusicList();
|
|
@@ -181,6 +199,7 @@ export default defineComponent({
|
|
|
listenerMessage('webViewOnResume', () => {
|
|
|
handleReset();
|
|
|
});
|
|
|
+ setSearchBox();
|
|
|
});
|
|
|
return () => (
|
|
|
<div class={styles.container}>
|
|
@@ -220,9 +239,20 @@ export default defineComponent({
|
|
|
</div>
|
|
|
<div class={styles.center}>
|
|
|
<MSearch
|
|
|
+ class={["searchNotice", data.searchNoticeShow ? styles.searchNoticeShow : '']}
|
|
|
shape="round"
|
|
|
background="transparent"
|
|
|
+ clearable={false}
|
|
|
placeholder="请输入曲目名称"
|
|
|
+ onFocus={() => (data.searchNoticeShow = false)}
|
|
|
+ onBlur={(val) => {
|
|
|
+ musicForms.keyword = val;
|
|
|
+ requestAnimationFrame(() => {
|
|
|
+ requestAnimationFrame(() => {
|
|
|
+ data.searchNoticeShow = true;
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }}
|
|
|
onSearch={val => {
|
|
|
musicForms.keyword = val;
|
|
|
handleReset();
|
|
@@ -251,7 +281,6 @@ export default defineComponent({
|
|
|
<div class={styles.musicName}>
|
|
|
<NoticeBar
|
|
|
text={item.musicSheetName}
|
|
|
- color="#333"
|
|
|
class={styles.noticeBar}
|
|
|
background="none"
|
|
|
/>
|
|
@@ -331,6 +360,16 @@ export default defineComponent({
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+
|
|
|
+ {data.searchNotice.width && data.searchNoticeShow && (
|
|
|
+ <div class={styles.searchNotice} style={{ ...data.searchNotice }}>
|
|
|
+ <NoticeBar
|
|
|
+ text={musicForms.keyword || '水电费第三方是发鼎折覆餗'}
|
|
|
+ color="#333"
|
|
|
+ background="none"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ )}
|
|
|
</div>
|
|
|
);
|
|
|
}
|