taro中scrollIntoView的表現(xiàn)異常

背景

項(xiàng)目使用taro開發(fā)徊件,需要轉(zhuǎn)多端(小程序、h5匆背、RN)呼伸。我們有個commonList列表組件,里面會對 taro的ScrollView組件進(jìn)行封裝钝尸,達(dá)到一些數(shù)據(jù)為空顯示占位或者下拉加載等功能括享;
有個小伙伴需要用這個組件進(jìn)行類似微信的聊天界面,

在輸入消息多于一屏的時候自然而然需要滾動到最底部珍促,使用戶看到的一直是最新的消息铃辖。

問題

看到這種需求首先就翻了翻官網(wǎng),在ScrollView的屬性上看到了scrollIntoView屬性猪叙;

沒問題娇斩,用起來~我們每添加一條新增消息就給它一個新的Id并傳入組件中仁卷。

   return <HKCommonList
      {...this.props}
      scrollIntoView={this.state.viewId}
    />

ok,看看效果犬第。微信小程序和RN效果如下:

動圖戳https://wos2.58cdn.com.cn/DeFazYxWvDti/frsupload/ade5e185a0fed12876b329d06941c52a.gif

沒問題锦积,通過~
但是到了H5就會發(fā)生消息錯位的問題。歉嗓。丰介。。遥椿。


動圖戳 https://wos2.58cdn.com.cn/DeFazYxWvDti/frsupload/a9579225c635d7d882be161e480b0ba3_22.gif

why基矮?Oⅰ冠场?!本砰?

分析

我們的commonList組件:

 <ScrollView
  style={{ width: '100%' }}
  {...this.props}
  scrollY
  scrollWithAnimation
  ...
>
  {this.props.data.map((v: { type: any }, i) => {
    return this.props.rowRenderer(v.type, this.props.data, i); //自定義渲染
  })}
</ScrollView>

并沒有什么特別的碴裙。。点额。
整個排查過程不太好描述啊舔株,翻了翻issue發(fā)現(xiàn)好多人都遇到過類似的問題,但是都不是很適用我們這種場景还棱。
commonList組件中的代碼原封不動拿到我們的頁面組件里運(yùn)行表現(xiàn)也是正常的载慈,實(shí)在想不明白咋回事。珍手。办铡。

解決

最后的最后,有個需求需要給ScrollView中的列表內(nèi)容在加上一個id的容器包裹琳要,修改之后是這樣:

<ScrollView
  style={{ width: '100%' }}
  {...this.props}
  scrollY
  scrollWithAnimation
  ...
>
  <View id={this.props.containerId || 'hkcommonlist-container'}>
    {this.props.data·.map((v: { type: any }, i) => {
      return this.props.rowRenderer(v.type, this.props.data, i); //自定義渲染
    })}
  </View>
</ScrollView>

之后再次進(jìn)行對話測試的回收就發(fā)現(xiàn)H5表現(xiàn)正常了9丫摺!V刹埂童叠!
改完之后H5效果如下,RN和小程序表現(xiàn)也正常:


動圖戳 https://wos2.58cdn.com.cn/DeFazYxWvDti/frsupload/03cd2079f01468f2df0e061ff24aad2a.gif

總結(jié)下:盡量不要做一些復(fù)雜組件的封裝了?文弧O锰场!乍惊!能用taro官網(wǎng)上的就用不要總是拿來嵌套啥的杜秸,感覺taro內(nèi)部實(shí)現(xiàn)不是很穩(wěn)定,坑還是有的
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末污桦,一起剝皮案震驚了整個濱河市亩歹,隨后出現(xiàn)的幾起案子匙监,更是在濱河造成了極大的恐慌,老刑警劉巖小作,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件亭姥,死亡現(xiàn)場離奇詭異,居然都是意外死亡顾稀,警方通過查閱死者的電腦和手機(jī)达罗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來静秆,“玉大人粮揉,你說我怎么就攤上這事「П剩” “怎么了扶认?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長殊橙。 經(jīng)常有香客問我辐宾,道長,這世上最難降的妖魔是什么膨蛮? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任叠纹,我火速辦了婚禮,結(jié)果婚禮上敞葛,老公的妹妹穿的比我還像新娘誉察。我一直安慰自己,他們只是感情好惹谐,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布持偏。 她就那樣靜靜地躺著,像睡著了一般豺鼻。 火紅的嫁衣襯著肌膚如雪综液。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天儒飒,我揣著相機(jī)與錄音谬莹,去河邊找鬼。 笑死桩了,一個胖子當(dāng)著我的面吹牛附帽,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播井誉,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼蕉扮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了颗圣?” 一聲冷哼從身側(cè)響起喳钟,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤屁使,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后奔则,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蛮寂,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年易茬,在試婚紗的時候發(fā)現(xiàn)自己被綠了酬蹋。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡抽莱,死狀恐怖范抓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情食铐,我是刑警寧澤匕垫,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站璃岳,受9級特大地震影響年缎,放射性物質(zhì)發(fā)生泄漏悔捶。R本人自食惡果不足惜铃慷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蜕该。 院中可真熱鬧犁柜,春花似錦、人聲如沸堂淡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绢淀。三九已至萤悴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間皆的,已是汗流浹背覆履。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留费薄,地道東北人硝全。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像楞抡,于是被迫代替她去往敵國和親伟众。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容