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

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

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

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

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

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

思路一:

textarea 標(biāo)簽設(shè)置max-height, 標(biāo)簽自帶屬性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;
}

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

思路二

多行文本框套一個(gè)容器,容器設(shè)置最大高度并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;
}

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

思路三

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

<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;
}

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

最終解

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

通過命名可以猜測這個(gè)是文本輸入框內(nèi)容樣式class屬性值,通過修改樣式設(shè)置 max-height, 自動增高開啟就完美實(shí)現(xiàn)多行輸入到一定高度不再增高,進(jì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)支付寶實(shí)現(xiàn)微信多行輸入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

开化县| 辽源市| 曲水县| 大同县| 南安市| 洪洞县| 托里县| 衡东县| 大丰市| 阿拉尔市| 无极县| 县级市| 昆明市| 金乡县| 襄城县| 耿马| 清徐县| 改则县| 英山县| 金门县| 安化县| 祁门县| 当阳市| 涟水县| 大冶市| 兴安县| 阿尔山市| 增城市| 三原县| 大姚县| 怀安县| 常熟市| 北票市| 舟山市| 许昌市| 章丘市| 莱阳市| 开远市| 辽中县| 阿荣旗| 武威市|