【小程序聊天输入框多行内容自动向上增高】

小程序聊天输入框多行内容自动向上增高

实现出来的效果与微信的聊天输入框一致。网上搜索到的方法都是加一个text标签结合flex布局等实现,出来的效果不好,不丝滑。自己研究了一个丝滑的方案出来,目前没有找到一样的,所以记录一下。

原理

利用 textarea 组件的 auto-height 属性结合flex布局元素可以从下向上排列的技巧实现。

代码

textarea 属性小程序都有介绍是什么意思就不解释了
实现此功能的必要属性是auto-height=“true”,其他的是实现对话框需要的属性。

<view class="send" id="send"><textarea class="weui-textarea" maxlength="-1" bindinput="getInput" adjust-position="{{false}}" type="text" confirm-type="send" focus="{{sendInputFocus}}" disabled="{{isDisabled}}" placeholder="和Ta聊聊..." show-confirm-bar="{{false}}" bindconfirm="onConfirm" data-specific="true" catchblur="onBlur" catchkeyboardheightchange="heightchange" catch:linechange="linechange" value="{{sendInfoValue}}" bindfocus="bindfocus" auto-height="true" confirm-hold="true" disable-default-padding="true"></textarea>
</view>

css用到了排列属性的flex-end和flex-start值,外层用于定位和承载输入框的盒子,使用align-items: flex-end;让元素从下向上排列。文本框做了纵轴反转 flex-direction: column-reverse,再改变对齐方式,下面的代码让ai翻译了一下。

.send {width: 100%; /* 宽度为100%,占据父容器的全部宽度 */position: relative; /* 相对定位 */min-height: 76rpx; /* 最小高度为76rpx */margin: 12rpx 0 0 0rpx; /* 外边距:上12rpx,右0,下0,左0rpx */box-sizing: border-box; /* 包括内边距和边框在内计算元素的总宽度和高度 */display: flex; /* 使用弹性布局 */align-items: flex-end; /* 在交叉轴上将子元素对齐到末端 */position: fixed; /* 固定定位 */bottom: 80rpx; /* 距离底部80rpx */
}.weui-textarea {overflow-y: hidden; /* 隐藏垂直方向的滚动条 */word-break: break-all; /* 强制在单词内断行 */word-wrap: break-word; /* 在单词边界处断行 */flex-direction: column-reverse; /* 使子元素在主轴方向上逆序排列 */align-items: flex-start; /* 在交叉轴上将子元素对齐到起点 */justify-content: flex-end; /* 在主轴上将子元素对齐到终点 */margin: 0 16rpx; /* 上下边距为0,左右边距为16rpx */flex: 1; /* 使元素在弹性容器中占据可用空间 */padding: 20rpx 30rpx 20rpx 24rpx; /* 内边距:上20rpx,右30rpx,下20rpx,左24rpx */background: rgba(0, 0, 0, .06); /* 背景颜色为黑色,透明度为6% */border-radius: 24rpx; /* 圆角半径为24rpx */font-size: 28rpx; /* 字体大小为28rpx */font-family: 'PingFang SC'; /* 字体为 'PingFang SC' */font-weight: 500; /* 字体粗细为500 */max-height: 100px; /* 最大高度为100px */
}

最后

可以放心直接粘到自己的项目使用。亲测可以,单独新建了个demo项目出来测试了下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1540167.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

前端web端项目运行的时候没有ip访问地址

我们发现 没有netWork 的地址 导致 团队内其他同学无法打开我们的地址 进行访问 在page.json 中的运行 指令中 添加 --host 记得加上空格 这样我们就可以看到这个地址了 团队其他同学 就可以访问我们这个地址了

Nuxt Kit 中的模板处理

title: Nuxt Kit 中的模板处理 date: 2024/9/20 updated: 2024/9/20 author: cmdragon excerpt: 摘要:本文详细介绍了在Nuxt 3框架中,使用Nuxt Kit进行模板处理的方法,包括理解模板基本概念、使用addTemplate动态生成文件、应用addTypeTemplate注册类型模板以增强TypeScr…

spring boot启动报错:so that it conforms to the canonical names requirements

springboot 2.x的版本中对配置文件中的命名规范有了强制性的要求&#xff0c;如下图所示中的dataSource属性属于驼峰格式&#xff0c;但是在springboot 2.x中不允许使用驼峰形式。 根据错误提示可知将其使用 - 来分割即可 错误信息的含义&#xff1a;“Canonical names should…

这年头找工作岗位都能开盲盒了??能给我开个 CEO 当当吗?

大家好&#xff0c;我是鸭鸭&#xff01; 求职季总是让人啼笑皆非&#xff0c;各种骚操作让鸭鸭吃瓜到嘴软。这不&#xff0c;鸭鸭最近就瞅到了一个让人啧啧称奇的“岗位盲盒”。 哎哟喂&#xff01;鸭鸭现在才知道&#xff0c;连找工作都能开盲盒&#xff0c;是我见识短了吗…

你是不是分不清哪些字体是商用,哪些非商用?快来看,免得莫名其妙负债。

前言 最近发现有好多小伙伴在做PPT的时候&#xff0c;都有一个很不好的习惯&#xff1a;没有调整好字体。 这里说的没有调整好字体的意思是&#xff1a;在一些公开发布的内容上使用一些可能造成侵权的字体。 字体侵权‌的后果相当严重。轻者可能面临法律纠纷&#xff0c;重者…

基于YOLOv8/YOLOv9/YOLOv10的河道漂浮物检测识别系统

摘要&#xff1a; 河道漂浮物检测识别是指利用技术手段自动识别河流、湖泊等水体表面的漂浮垃圾或物体的过程。随着环境保护意识的增强和技术的进步&#xff0c;河道漂浮物检测已经成为水环境保护和管理的重要组成部分。这项技术的应用可以帮助及时发现污染源&#xff0c;采取措…

响应式监听localStorage存储?封装个自定义Hook不就好了!

背景 项目上有个更改时区的全局组件&#xff0c;同时还有一个可以更改时区的局部组件&#xff0c;想让更改时区的时候能联动起来&#xff0c;实时响应起来。 其实每次设置完时区的数据之后是存在了前端的 localStorage 里边&#xff0c;时&#xfffd;&#xfffd;&#xfff…

SaltStack的state定义主机状态及Jinja模版的使用

在前面我们学习了远程执行模块&#xff0c;这些模块的执行类似语段 she11 脚本&#xff0c;每次执行都会触发一次相同的功能&#xff0c;在大量的 minion 上运行远程命令当然是重要的&#xff0c;但是对于 minion 的环境控制&#xff0c;使用状态进行管理更为合适&#xff0c;转…

从零开始制作AI无人直播插件!

AI无人直播插件应运而生&#xff0c;它利用人工智能技术&#xff0c;实现了直播内容的自动化生成与播放&#xff0c;极大地降低了直播的人力成本和时间成本&#xff0c;本文将带你从零开始&#xff0c;探索如何制作一个AI无人直播插件&#xff0c;并分享五段关键的源代码。 AI…

谷歌深度学习研究揭示OpenAI O1模型优化策略:比规模更重要的计算效率

引言 近年来&#xff0c;大型语言模型&#xff08;LLMs&#xff09;如OpenAI的GPT-4和Google DeepMind的Palm 2已成为自然语言处理领域的佼佼者&#xff0c;它们通过生成类人文本、回答复杂问题、编写代码等能力&#xff0c;改变了许多行业的工作方式。然而&#xff0c;随着这…

IO流体系(FiletOutputStream)

书写步骤&#xff1a; 1.创建字节输出流对象 细节1:参数是字符串表示的路径或者是File对象都是可以的 细节2:如果文件不存在会创建一个新的文件&#xff0c;但是要保证父级路径是存在的。 细节3:如果文件已经存在&#xff0c;则会清空文件 2.写数据 细节:write方法的参数…

大白话解读末日期权是什么意思?末日期权与黑天鹅!

今天带你了解大白话解读末日期权是什么意思&#xff1f;末日期权与黑天鹅&#xff01;末日期权与黑天鹅事件的关系主要体现在风险和波动性管理上&#xff0c;交易者需要谨慎对待这两者的互动。 末日期权和期权黑天鹅事件之间的关系主要体现在风险管理和市场波动性上。 末日期…

没有那个文件或目录 #include <bits/libc-header-start.h>

Ubuntu 18.04 编译需要编译32位系统 gcc -ggdb -m32 -c -o exploit.o exploit.c gcc -m32 -L/usr/lib32 exploit.o -o exploit 报错&#xff1a; 解决方法&#xff1a; sudo apt-get install libc6-dev-i386sudo apt-get install gcc-multilib

【C++】哈希表:字母异位词分组(体会泛型编程的强大)

1.题目 2.思路 利用map的特性&#xff0c;第一个值存排好序的string&#xff0c;第二个值存vector<string>。这样就可以很好的将异位词分组。 3.代码 class Solution { public:vector<vector<string>> groupAnagrams(vector<string>& strs) {un…

25届计算机专业毕设选题推荐-基于python的二手电子设备交易平台【源码+文档+讲解】

&#x1f496;&#x1f525;作者主页&#xff1a;毕设木哥 精彩专栏推荐订阅&#xff1a;在 下方专栏&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; 实战项目 文章目录 实战项目 一、基于python的二手电子设备交…

六西格玛绿带培训多少钱?从授“鱼”到授“渔”

六西格玛作为一种全球公认的质量管理方法&#xff0c;其影响力日益扩大&#xff0c;而六西格玛绿带培训作为这一体系中的关键环节&#xff0c;更是吸引了众多希望在职场上脱颖而出的专业人士。本文&#xff0c;深圳天行健企业管理咨询公司将从多个维度深入探讨“六西格玛绿带培…

【大模型】初识大模型(非常详细)零基础入门到精通,收藏这一篇就够了_大模型入门

大模型的定义 大模型是指具有数千万甚至数亿参数的深度学习模型。近年来&#xff0c;随着计算机技术和大数据的快速发展&#xff0c;深度学习在各个领域取得了显著的成果&#xff0c;如自然语言处理&#xff0c;图片生成&#xff0c;工业数字化等。为了提高模型的性能&#xf…

游戏如何应对云手机刷量问题

云手机的实现原理是依托公有云和 ARM 虚拟化技术&#xff0c;为用户在云端提供一个安卓实例&#xff0c;用户可以将手机上的应用上传至云端&#xff0c;再通过视频流的方式&#xff0c;远程实时控制云手机。 市面上常见的几款云手机 原本需要手机提供的计算、存储等能力都改由…

在校三个月备考软考中项顺利拿证,经验分享

作为一名在校生&#xff0c;我在三个月的备考软考中项后成功拿到证书&#xff0c;对于软考中项的考试技巧有着丰富的经验。首先&#xff0c;我给你分享一些备考技巧&#xff1a; 1. 不要死记硬背&#xff01;最好是结合跟班学习和教材双管齐下。先过一遍所有知识点&#xff08…

如何查看Android设备的dpi

adb shell getprop ro.sf.lcd_density adb shell cat /system/build.prop > build_prop.txt shell cat system/build.prop 结果&#xff1a;参考&#xff1a; 如何查看Android设备的dpi_安卓 查看手机dpi-CSDN博客