【uniapp】<scroll-view> scroll-into-view 滾動到元素偶爾失效問題

功能簡要描述:
頁面UI.png

分類頁面,左面是分類名稱列表,右邊是分類名稱+分類下商品
點(diǎn)擊分類名稱后,定位到商品列表的分類名稱位置

template代碼塊(簡化)
<!-- 分類名稱列表 -->
<view style='width:100vw;display:flex'>
  <scroll-view style='height:100vh;width:20%' :scroll-y="true">
      <view>
            <view @click='intoDom(item.id)' v-for(item,index) in list :key='index'>分類名稱</view>
      </view>
  </scroll-view>
  <!-- 商品列表 -->
  <scroll-view  style='height:100vh;width:80%'  :scroll-y="true" :scroll-into-view="intoId">
      <view>
            <view v-for(item,index) in list :key='index'>
                  <view :id="'dom_'+item.id" >分類名稱</view>
                  <view v-for(subItem,subIndex) in item.subList :key='subIndex'>商品名稱</view>
            </view>
            ...更多數(shù)據(jù)(略)
      </view>
  </scroll-view>
</view>
script代碼塊(出現(xiàn)BUG代碼)
export default {
  data() {
     return {
        intoId: "",// 值應(yīng)為某子元素id(id不能以數(shù)字開頭)。設(shè)置哪個方向可滾動,則在哪個方向滾動到該元素
        list: [{
          typename: "分類1",
          id: 1,
          subList: [{
            itemname: "商品1",
            id: "1001"
          }]
        }]
     }
  },
  methods: {
      // 點(diǎn)擊左邊分類名稱,定位到商品分類塊位置
      intoDom(id){
          this.intoId = `dom_${id}`
      }
  }
}
修改后script代碼
export default {
  data() {
     return {
        intoId: "",// 值應(yīng)為某子元素id(id不能以數(shù)字開頭)。設(shè)置哪個方向可滾動,則在哪個方向滾動到該元素
        list: [{
          typename: "分類1",
          id: 1,
          subList: [{
            itemname: "商品1",
            id: "1001"
          }]
        }]
     }
  },
  methods: {
      // 點(diǎn)擊左邊分類名稱,定位到商品分類塊位置
      intoDom(id){
          // 先設(shè)置一個錯誤的ID
          this.intoId = `dom_${id}_xxx`
          // 然后再設(shè)置正確的滾動ID
          setTimeout(()=>{
            this.intoId = `dom_${id}`
          },100)
      }
  }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容