小程序scroll-view中通过命名slot使用textarea,聚焦时位置错误
发布于 7 年前 作者 wanfang 13964 次浏览 来自 问答

写了一个通用组件,里面有一个scroll-view,在scroll-view中有两个命名slot,类似于下面的代码:

<scroll-view class="background-view" scroll-y='{{true}}' enable-back-to-top="{{true}}">
  <view class="background-view-space"></view>
  <view class="background-view-container">
    <slot name="content"></slot>
  </view>
  <slot name="bottom"></slot>
  <view class="background-view-footer">xxxxxx</view>
</scroll-view>

调用时<slot name=“bottom”></slot>中传入了一个封装的textarea的list,未聚焦时是text组件,点击后切换成textarea组件并聚焦,代码类似于这样:

<view class="listtextarea view-class">
    <text
        class="{{text ? 'listtextarea-normal' : 'listtextarea-placeholder'}}"
        bindtap="textClickEvent"
        wx:if="{{!focus}}">{{text ? text : placeholder}}</text>
    <textarea
        class="listtextarea-input"
        wx:else
        value="{{text}}"
        placeholder="{{placeholder}}"
        placeholder-style="color: #989cb1;font-size: 30rpx;line-height: 30rpx;"
        maxlength="{{maxlength}}"
        focus="{{focus}}"
        disable-default-padding="{{true}}"
        adjust-position="{{false}}"
        bindblur="textareaBlurEvent"
        bindinput="textareaInputEvent"></textarea>
</view>

但是,聚焦之后,textarea的位置就变了,而且只在安卓手机上复现。

聚焦前:

聚焦后:

请问应该如何解决呢?

1 回复

你好,麻烦具体描述问题流程,提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

回到顶部