最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

支付寶小程序?qū)崿F(xiàn)類似微信多行輸入功能(思路詳解)

 更新時間:2024年02月22日 09:28:23   作者:拙慕JULY  
這篇文章主要介紹了支付寶小程序?qū)崿F(xiàn)類似微信多行輸入功能,輸入超過 8 行的時候會出現(xiàn)滾動,這樣做的好處就是輸入框不會直接頂?shù)巾撁孀铐敳?支付寶小程序?qū)崿F(xiàn)多行輸入框:使用textarea多行輸入框?qū)崿F(xiàn),感興趣的朋友一起看看吧

先來看看微信小程序輸入框展示效果:

輸入超過 8 行的時候會出現(xiàn)滾動,這樣做的好處就是輸入框不會直接頂?shù)巾撁孀铐敳俊?/p>

支付寶小程序?qū)崿F(xiàn)多行輸入框:使用textarea多行輸入框?qū)崿F(xiàn)

思路一:

textarea 標簽設置max-height, 標簽自帶屬性auto-height自動增高

<view class="test">
  <view class="top">
  </view>
  <view class="footer">
    <textarea placeholder="Input multiple lines" auto-height maxlength="{{-1}}"  class="textarea" show-count="{{false}}" enableNative="{{false}}"></textarea>
  </view>
</view>
// css 
.textarea {
  max-height: 150rpx !important;
  overflow-y: scroll;
}

實際效果最大高度未生效, 會一直增高,該方法不行

思路二

多行文本框套一個容器,容器設置最大高度并y軸滾動,

<view class="test">
  <view class="top">
  </view>
  <view class="footer">
    <view class="textarea-content">
      <textarea placeholder="Input multiple lines" auto-height maxlength="{{-1}}"  class="textarea" show-count="{{false}}" enableNative="{{false}}">
      </textarea>
    </view>
  </view>
</view>
// css
.textarea-content {
  max-height: 150rpx !important;
  overflow-y: scroll;
}

可以實現(xiàn),但是ios會出現(xiàn)如下問題,超出的文本全選中會在頁面透漏出光標,光標在滾動層里也會透出

思路三

多行文本框設置絕對定位高度設置100%,增加一個兄弟元素設置max-height,監(jiān)聽輸入事件記錄輸入的value, 把value放到兄弟元素里,由兄弟元素撐開父元素,隨之文本框也自動增高和減少

<view class="test">
  <view class="top">
  </view>
  <view class="footer">
    <view class="textarea-content">
      <textarea placeholder="Input multiple lines" onInput="onInput"  maxlength="{{-1}}"  class="textarea" show-count="{{false}}" enableNative="{{false}}"></textarea>
      <text class="textarea-brother">{{value}}</text>
    </view>
  </view>
</view>
// css
.textarea-content {
  position: relative;
}
.textarea {
  height: 100%;
  position: absolute;
  top: -150rpx;
  height: 100%;
  width: 100%;
}
.textarea-brother {
  width: 100%;
  min-height: 42px;
  display: block;
  max-height: 150rpx;
  word-break: break-all;
  word-wrap: break-word;
}

解決了光標超出滾動層的問題,但是input只能監(jiān)聽輸入到輸入框的字,輸入法切換到中文,會先用拼音占輸入框的高度,期望高度也是可以增高的,但是由于監(jiān)聽不到輸入事件,這種處理方法會遮蓋拼音

最終解

找到了支付寶原生組件的樣式表https://open.alipay.com/portal/forum/post/120501011

通過命名可以猜測這個是文本輸入框內(nèi)容樣式class屬性值,通過修改樣式設置 max-height, 自動增高開啟就完美實現(xiàn)多行輸入到一定高度不再增高,進行滾動

<view class="test">
  <view class="top">
  </view>
  <view class="footer">
    <view class="textarea-content">
      <textarea placeholder="Input multiple lines" onInput="onInput" maxlength="{{-1}}" auto-height  class="textarea" show-count="{{false}}" enableNative="{{false}}"></textarea>
      <!-- <text class="textarea-brother">{{value}}</text> -->
    </view>
  </view>
</view>
// css
.textarea {
  .a-textarea-content {
    max-height: 150rpx !important;
  }
}

效果如下:

到此這篇關(guān)于支付寶小程序?qū)崿F(xiàn)類似微信多行輸入功能的文章就介紹到這了,更多相關(guān)支付寶實現(xiàn)微信多行輸入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

邯郸市| 滁州市| 津市市| 韩城市| 尉犁县| 合肥市| 临洮县| 绥宁县| 西藏| 伊吾县| 昌江| 独山县| 正阳县| 高邮市| 通道| 亚东县| 龙川县| 巴彦县| 蒲江县| 凉山| 淮北市| 汉中市| 青田县| 阳西县| 成都市| 广灵县| 鹿邑县| 双柏县| 诸暨市| 昌乐县| 读书| 固始县| 会东县| 大方县| 长白| 乐清市| 白山市| 泰顺县| 汾西县| 怀安县| 临夏县|