mo 2 年之前
父节点
当前提交
857cb26e79
共有 2 个文件被更改,包括 16 次插入10 次删除
  1. 7 1
      src/views/music/music-detail/download.tsx
  2. 9 9
      src/views/music/music-detail/index.tsx

+ 7 - 1
src/views/music/music-detail/download.tsx

@@ -1,4 +1,4 @@
-import { defineComponent, reactive, ref } from 'vue'
+import { defineComponent, reactive, ref, watch } from 'vue'
 import styles from './download.module.less'
 import { postMessage, promisefiyPostMessage } from '@/helpers/native-message'
 import {
@@ -23,6 +23,12 @@ export default defineComponent({
   },
   setup(props) {
     const list = ref(props.imgList)
+    watch(
+      () => props.imgList,
+      (val: any) => {
+        list.value = val
+      }
+    )
     const acitveIndex = ref(0)
     const saveLoading = ref<boolean>(false)
     const image = ref('')

+ 9 - 9
src/views/music/music-detail/index.tsx

@@ -83,7 +83,7 @@ export default defineComponent({
     const heightInfo = ref<any>('0')
     const musicDetail = ref<any>(null)
     const audioFileUrl = ref('')
-    const showImg = ref<Array<any>>([])
+    let showImg = [] as any
     const firstList = ref<Array<any>>([])
     const fixedList = ref<Array<any>>([])
     const staffList = ref<Array<any>>([])
@@ -118,11 +118,11 @@ export default defineComponent({
       () => staff.radio,
       (val: string) => {
         if (val == 'first') {
-          showImg.value = firstList.value
+          showImg = firstList.value
         } else if (val == 'fixed') {
-          showImg.value = fixedList.value
+          showImg = fixedList.value
         } else {
-          showImg.value = staffList.value
+          showImg = staffList.value
         }
       }
     )
@@ -144,7 +144,7 @@ export default defineComponent({
         audioFileUrl.value =
           background && background.length > 0 ? background[0].audioFileUrl : ''
         // const arrImgs = res.data.musicImg ? res.data.musicImg.split(',') : []
-        showImg.value = res.data.musicImg ? res.data.musicImg.split(',') : []
+        showImg = res.data.musicImg ? res.data.musicImg.split(',') : []
         firstList.value = res.data.firstTone
           ? res.data.firstTone.split(',')
           : []
@@ -593,7 +593,7 @@ export default defineComponent({
                     <span
                       class={styles.download}
                       onClick={() => {
-                        if (showImg.value.length > 0) {
+                        if (showImg.length > 0) {
                           downloadStatus.value = true
                         } else {
                           Toast('暂无图片')
@@ -617,8 +617,8 @@ export default defineComponent({
               <p class={styles.musicTitle}>
                 {musicDetail.value?.musicSheetName}
               </p>
-              {showImg.value.length > 0 ? (
-                <img src={showImg.value[0]} alt="" class={styles.musicImg} />
+              {showImg.length > 0 ? (
+                <img src={showImg[0]} alt="" class={styles.musicImg} />
               ) : loading.value ? (
                 <>
                   <Vue3Lottie
@@ -847,7 +847,7 @@ export default defineComponent({
 
           <Popup v-model:show={downloadStatus.value} position="bottom" round>
             <Download
-              imgList={showImg.value}
+              imgList={JSON.parse(JSON.stringify(showImg))}
               musicSheetName={musicDetail.value.musicSheetName}
             />
           </Popup>