收藏
回答

scroll-view内部使用input,开启scrollintoView时,input值延迟跟随?

wxml:
 <scroll-view
    scroll-y
    enhanced
    scroll-into-view="{{scrollIntoViewId}}"
    scroll-into-view-alignment="{{'nearest'}}"
    scroll-anchoring="{{false}}"
    scroll-with-animation="{{true}}"
    style="height: calc(100vh);"
  >
    <view class="content">
      <view class="user-info">
        <view class="info-item">
          <view class="label">
            姓名
          </view>
          <view class="input-box">
            <input id="name" value='{{info.name}}' class='input' bindfocus="bindfocusFn" bindinput="inputChange" placeholder="请输入姓名" adjust-keyboard-to="bottom" cursor-spacing="{{80}}" adjust-position="{{false}}" data-props='name' />
          </view>
        </view>
        <view class="info-item" bind:tap="jump" data-type='certificate'>
          <view class="label">上传证照</view>
          <view class="tips">PNG/JPG不超过3M</view>
          <view class="arrow"></view>
        </view>
        <view class="info-item">
          <view class="label">心情介绍</view>
          <view class="input-box">
            <input id="introduce" value='{{info.introduce}}' class='input' bindfocus="bindfocusFn" bindinput="inputChange" maxlength="50" placeholder="请输入心情介绍" adjust-keyboard-to="bottom" cursor-spacing="{{80}}" adjust-position="{{false}}" data-props='introduce' />
          </view>
        </view>
      </view>
      <view class="user-info">
        <view class="info-title">联系信息</view>
        <view class="info-item">
          <view class="label">
            手机
          </view>
          <view class="input-box">
            <input id="phone" class='input' disabled placeholder="请输入手机号" adjust-keyboard-to="bottom" cursor-spacing="{{80}}" adjust-position="{{false}}" value='{{info.phone}}' bindfocus="bindfocusFn" bindinput="inputChange" data-props='phone' />
          </view>
        </view>
        <view class="info-item">
          <view class="label">微信</view>
          <view class="input-box">
            <input id="wechat" class='input' bindfocus="bindfocusFn" bindinput="inputChange" placeholder="请输入微信号" adjust-keyboard-to="bottom" cursor-spacing="{{80}}" adjust-position="{{false}}" value='{{info.wechat}}' data-props='wechat' />
          </view>
        </view>
        <view class="info-item">
          <view class="label">邮箱</view>
          <view class="input-box">
            <input id="email" class='input' bindfocus="bindfocusFn" bindinput="inputChange" placeholder="请输入邮箱地址" adjust-keyboard-to="bottom" cursor-spacing="{{80}}" adjust-position="{{false}}" value='{{info.email}}' data-props='email' />
          </view>
        </view>
        <view class="info-item">
          <view class="label">所在区域</view>
          <view class="input-box">
            <input id="city" class='input' disabled="{{true}}" placeholder="请选择所在区域" adjust-keyboard-to="bottom" cursor-spacing="{{80}}" adjust-position="{{false}}" bind:tap='selectArea' bindfocus="bindfocusFn" bindinput="inputChange" value='{{info.city}}' data-props='city' />
          </view>
          <view class="arrow" bind:tap='selectArea'></view>
        </view>
        <view class="info-item">
          <view class="label">公司</view>
          <view class="input-box">
            <input id="companyName" class='input' placeholder="请输入公司" adjust-keyboard-to="bottom" cursor-spacing="{{80}}" adjust-position="{{false}}" bindfocus="bindfocusFn" bindinput="inputChange" value='{{info.companyName}}' data-props='companyName' />
          </view>
        </view>
        <view class="info-item">
          <view class="label">职位</view>
          <view class="input-box">
            <input id="jobTitles" class='input' placeholder="请输入职位" adjust-keyboard-to="bottom" cursor-spacing="{{80}}" adjust-position="{{false}}" bindfocus="bindfocusFn" bindinput="inputChange" value='{{info.jobTitles}}' data-props='jobTitles' />
          </view>
        </view>
        <view class="info-item">
          <view class="label">行业</view>
          <view class="input-box">
            <input id="industry" class='input' placeholder="请输入行业" adjust-keyboard-to="bottom" cursor-spacing="{{80}}" adjust-position="{{false}}" bindfocus="bindfocusFn" bindinput="inputChange" value='{{info.industry}}' data-props='industry' />
          </view>
        </view>
      </view>
      <view class='btn-box'  bind:tap="save">
        <button class='btn'>保存</button>
      </view>
    </view>
  </scroll-view>


js:
Page({
  data: {
    scrollIntoViewId:"",
  },
   bindfocusFn(e){
    const { currentTarget: { dataset: {  props }  } } = e
    this.setData({
      scrollIntoViewId:props,
    })
  },
})

回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容