微信小程序开发——评论功能

article/2025/10/23 22:04:38

将comment容器设置为固定定位,高度设置为自适应,会根据textarea容器高度的变化来变化。textarea容器中最小高度,文本的行高都设置一致,这样就不会出现滚动条。当输入框聚焦时触发,可以通过定义的bindfocuse方法获取到键盘高度(event.detail.height )。将其值设置为comment容器的bottom值。

1. auto-height="true":将textarea设置为自动增高,但是style.height将不生效。

2. auto-foucs="true":自动聚焦,拉起键盘。

3. cursor-spacing='0':指定光标与键盘的距离。取`textarea`距离底部的距离和`cursor-spacing`指定的距离的最小值作为光标与键盘的距离。

4. adjust-position="{{false}}"  键盘弹起时,取消自动上推页面

5.  show-comfirm-bar="{{fasle}}": 取消键盘上方带有”完成“按钮那一栏,若不取消 唤起键盘后,在安卓中键盘会遮挡住 comment容器 ,而iOS则不会。

6. bindfocus:输入框聚焦时触发,event.detail.height 为键盘高度。

7.bindblur:输入框失去焦点时触发

8.bindlinechange:输入框行数变化时调用,event.detail.lineHeight: 可以获取一行文字的高度为 20.4px。

          

wxml部分

<view class="comment" style="bottom:{{bottomHeight}}px;"><textarea class="textarea" show-confirm-bar="{{false}}" auto-height="true" auto-focus="true" cursor-spacing='0' adjust-position="{{false}}"  	 placeholder="评论" maxlength="1000" value="{{content}}" bindfocus="bindfocus" bindinput="bindinput" bindblur="bindblur"></textarea><button type="primary" class="send_out" style="width: 100rpx;" disabled="{{content?false:true}}" bindtap="sendOut" >发送</button>
</view>

 wxss部分

.comment {margin: 0;padding: 16rpx 24rpx;width: 100%;/* height: 92rpx; */display: flex;justify-content: space-between;align-items: center;border-top: 1rpx solid #cccccc;border-bottom: 1rpx solid #cccccc;/* padding和border被包含在定义的width和height之内。盒子的实际宽度=设置的width(padding和border不会影响实际宽度) */box-sizing: border-box;font-family: PingFangSC-Regular, PingFang SC;font-size: 32rpx;transition: all 2s inherit;overflow: hidden;/* 设置为固定定位 */position: fixed;left: 0;
}/* textarea输入框的样式 */
.textarea {margin: 0;padding: 11rpx 24rpx;/* 宽度为 父容器的宽度 减去 发送按钮的宽度 减去 (左右内边距和左右边框宽度) 减去 右边外边距*/width: calc(100% - 100rpx - 50rpx - 24rpx);/* textarea 的高度随着文本的内容来改变的 设置一个最小高度60rpx*/min-height: 40.8rpx;/* 设置行高 */line-height: 40.8rpx;/* 取消默样式 */outline: none;border: 1rpx solid #cccccc;border-radius: 15rpx;background-color: #FFFFFF;/* padding和border不被包含在定义的width和height之内。盒子的实际宽度=设置的width+padding+border */box-sizing: content-box;overflow: hidden;
}/* 发送按钮样式 */
.send_out {margin: 0;padding: 0;width: 100rpx;height: 60rpx;text-align: center;line-height: 60rpx;border: 1rpx solid #cccccc;border-radius: 10rpx;/* 将发送按钮固定在底部 */position: absolute;right: 24rpx;bottom: 16rpx;
}

js部分

const app = getApp()Page({data: {content:'',//文本类容bottomHeight:0 //定义comment容器与page容器下边界之间的距离},// 获取焦点 唤起软键盘bindfocus(e){console.log(e, '键盘弹起')console.log(e)this.setData({bottomHeight:e.detail.height //将键盘的高度设置为comment容器与page容器下边界之间的距离。})},// 输入内容bindinput(e){this.setData({content:e.detail.value})},// 失去焦点 bindblur(e){console.log(e, '收起键盘')this.setData({bottomHeight:0})},//sendOut(){let {content}=this.data //使用解构 //调用发送接口}
})


http://chatgpt.dhexx.cn/article/3EB5QnU9.shtml

相关文章

微信小程序详细介绍

文章目录 前言&#xff1a;一&#xff0c;什么是微信小程序二&#xff0c;微信小程序发展史三&#xff0c;微信小程序优缺点四&#xff0c;微信小程序与其他相关概念的区别移动应用程序和Web应用程序的区别APP和H5的区别普通网页和微信公众号的区别小程序和小游戏的区别小程序和…

微信小程序语音播放功能的实现

1.想要实现微信的语音播放需要在微信公众号后台下载微信同声传译插件&#xff0c;可以去微信服务平台搜索此插件并下载&#xff0c;指定对应的小程序号就行了。 2.下载完在 微信小程序后台--设置--第三方设置-- 插件管理-- 进入 微信同声传译详情 复制插件AppID 到 app.json 进…

浅谈微信小程序的功能定位和使用场景

作者主页&#xff1a;Designer 小郑 作者简介&#xff1a;浙江某公司软件工程师&#xff0c;负责开发管理公司OA、CRM业务系统&#xff0c;全栈领域优质创作者&#xff0c;CSDN学院、蓝桥云课认证讲师&#xff0c;开发过20余个前后端分离实战项目&#xff0c;主要发展方向为Vue…

微信小程序 - 一键复制功能

用到了微信支付的复制功能&#xff0c;简单记录一下(上图上代码) 底下数据是测试用&#xff0c;并不真实 功能就是 点击复制按钮 复制支付单号 直接在某个地方(文本、按钮、图片等都行)绑定个点击事件bindtap"copyBtn" 把你需要复制的内容传到后台去data-ordernum&qu…

微信小程序怎么开通支付功能?

对于一些想通过小程序卖货的企业商家来说&#xff0c;在申请小程序后需要同时开通微信支付功能&#xff0c;才能在小程序上进行交易。那么关于微信小程序怎么开通支付功能&#xff0c;下面给大家说一说。 一、注册非个人主体的小程序账号 不管你是通过公众号后台快速注册还是…

微信小程序——评论功能

1.前端数据渲染 <view class"list"><view>{{goodsitem.id}}</view><view>{{goodsitem.name}}</view><view>{{goodsitem.price}}</view><view>{{goodsitem.desc}}</view> </view><view><view&…

微信小程序扫码功能

扫码功能有两个实现形式&#xff1a; 1.做一个扫码按钮,调用微信自带api&#xff08;wx.scanCode &#xff09; wx.scanCode({ success(res) { //res.path 可以打印出来&#xff0c;包含所有参数 }) 2.就是直接通过微信的扫一扫&#xff0c;获取参数 如果本地测试的话参照如下图…

Java中获取数组长度

Java中获取数组长度 方法&#xff1a; 使用数组属性length来获取数组长度 代码&#xff1a; public class ArrayLength {public static void main(String[] args) {String[][] data new String[2][5];System.out.println("第一维数组的长度&#xff1a;"data.len…

字符数组的长度

1、char指针引导的字符数组&#xff1a; strlen返回字符数组的长度&#xff0c;包括空格。 #include<iostream> #include<cstring> using namespace std; int main() {const char* p "hell o"; //因为"hell o"是常量型的&#xff0c;所以要…

MATLAB 元胞(cell)全解

矩阵中的元素都是数字或字符&#xff0c;而元胞的元素可以说数字&#xff0c;字符&#xff0c;矩阵&#xff0c;字符串&#xff0c;是一个元素多元化的矩阵。 元胞的建立 使用{}手动输入以元胞来依次对元素赋值 使用{}索引&#xff0c;创建各元胞元素 注意此法与法…

2021美赛A题元胞自动机解法(M奖)

距离比赛已经整整一年了&#xff0c;今天突然想整理一下以前比赛的代码&#xff0c;所以下面是回忆着写的&#xff0c;可能有错误的地方&#xff0c;欢迎大家指正。 主要是建了下面3个模型&#xff0c;一一说明&#xff1a; Model I 首先要建立多种真菌存在下的分解速率模型…

matlab 导入元胞,MATLAB导入xls文件以及cell的使用方法

使用matlab读入.xls的文件时候可以用[T,TXT,RAW]xlsread("filename.xls")导入也可以使用import data 的办法手动导入文件。但是我比较倾向于自动化程度比较高的前者&#xff0c;毕竟有时候导入的文件数量是几百个手动导入不科学。xlsread返回的参数有三个&#xff0c…

万能存储器:C++中的元胞数组的基本操作

目录 万能存储器&#xff1a;C中的元胞数组 什么是元胞数组&#xff1f; 元胞数组怎么用&#xff1f; 代码示例 Decltype是什么&#xff1f;该如何使用&#xff1f; Tuple_cat是什么&#xff1f;该如何使用&#xff1f; Tuple_size是什么&#xff1f;如何使用&#xff1f…

Matlab:元胞(cell)

一般来说&#xff0c;Matlab矩阵中的元素都是数值或字符&#xff0c;而元胞的元素可以是数值&#xff0c;字符&#xff0c;矩阵&#xff0c;字符串&#xff0c;是一个元素多元化的矩阵。 一、cell的创建 (1).类似于创建一般矩阵&#xff0c;直接使用C {A B D E}这种形式&…

matlab 向量化编程cellfun函数使用方法

cellfun 常用于向量化编程&#xff0c;比for循环要快 对元胞数组中的每个元胞应用函数 语法 A cellfun(func,C) A cellfun(func,C1,…,Cn) A cellfun(___,Name,Value) [A1,…,Am] cellfun(___) 说明 A cellfun(func,C) 将函数 func 应用于元胞数组 C 的每个元胞的内容&a…

元胞自动机CA+生命游戏代码

1、元胞自动机 元胞自动机(Cellular Automaton&#xff0c;复数为Cellular Automata&#xff0c;简称CA&#xff0c;也有人译为细胞自动机、点格自动机、分子自动机或单元自动机)。是一时间和空间都离散的动力系统。散布在规则格网 (Lattice Grid)中的每一元胞(Cell)取有限的离…

【元胞自动机】基于元胞自动机模拟晶体生长matlab源码

1.元胞 元胞又可称为单元。或基元&#xff0c;是元胞自动机的最基本的组成部分。元胞分布在离散的一维、二维或多维欧几里德空间的晶格点上。\ 每一个元胞都有一个状态&#xff0c;例如下方中间的元胞状态是有一只小虫子&#xff0c;其他元胞的状态是没有小虫子。但如果虫子移动…

复杂网络实验4:一维元胞自动机(matlab)

一.思路 一维元胞自动机 一维元胞自动机的意思是&#xff0c;当前元胞的状态&#xff0c;只能被左右元胞的状态影响&#xff0c;而不能被上下元胞影响&#xff08;能上下就是二维了&#xff09; 为什么普通一维元胞自动机&#xff08;只有当前元胞和左右两个邻居&#xff09…

Matlab和C/C++元胞数组cell相关操作总结

元胞数组cell 1 Matlab中元胞数组cell的操作1.1 数组与元胞数字相互转换&#xff1a;mat2cell、cell2mat1.1.1 mat2cell使用形式实例一&#xff1a;划分数组并以元胞数组形式返回子数组实例二&#xff1a;按行划分数组 1.1.2 cell2mat使用形式实例一&#xff1a;将元胞数组转换…

Windows访问Macbook共享文件夹

1.条件&#xff1a;macbook与windows在同一局域网内 2.设置MacBook共享文件夹 (1).左上角系统偏好设置 (2)点击文件共享 (3).选择共享文件目录 (4).选择该目录使用的用户 (5).设置共享权限权限 3.windows访问共享文件&#xff1a; (1).winr (2).输入:192.168.0.100是MacB…