zoukankan      html  css  js  c++  java
  • 小程序实现textarea行数自动增加

    查找网上案例很多,但是都不是很满意,参考大牛案例终结了一下,话不多说代码如下:

    实现效果:

    前段代码

    <view class="text-box">
          <view>{{currentInput}}</view>
          <textarea class="weui-textarea" placeholder="请输入文本" bindinput="getInput" maxlength="500"/>
    </view>

    css代码

    .text-box{
        width:750rpx; 
        padding: 20rpx 0;
        box-sizing: border-box;
        position: relative;
        min-height:150rpx;
        max-height:240rpx;
        background: rgb(172, 253, 95)
    }
    .text-box view{
       display:block;
       visibility:hidden;
       word-break:break-all;
       word-wrap:break-word;
    }
    .text-box .weui-textarea{
        width: 600rpx;
        height:100%;
        position: absolute;
        left:75rpx;
        top:0rpx;
        overflow-y:hidden;
        word-break:break-all;
        word-wrap:break-word;
    }

    js代码

    Page({
        data:{
            currentInput: ''
        },
        getInput: function (e) {
            this.setData({
                currentInput: e.detail.value
            })
        },
    })

    模拟微信朋友圈评论效果

        <view class="comment-reply-focus" v-else>
            <view class="text-box">
                <view>{{ currentInput }}</view>
                <textarea
                    class="weui-textarea"
                    placeholder="评论 @一见生财"
                    focus="true"
                    @input="getInput"
                    maxlength="500"
                    fixed="true"
                    :show-confirm-bar="false"
                    :adjust-position="true"
                    cursor-spacing="20px"
                />
            </view>
            <view class="comment-reply-focus-send" @click.stop="sendComment()">发送</view>
        </view>
    .comment-reply-focus {
        width: 100%;
        position: relative;
        padding-left: 40upx;
    }
    .text-box {
        width: 580rpx;
        padding: 20rpx 0;
        box-sizing: border-box;
        position: relative;
        min-height: 80upx;
        max-height: 160upx;
        line-height: 40upx;
        border: 1upx solid #e5e5e5;
        border-radius: 5upx;
        padding: 20upx;
    }
    .text-box view {
        display: block;
        visibility: hidden;
        word-break: break-all;
        word-wrap: break-word;
    }
    .text-box .weui-textarea {
        width: 580upx;
        height: 100%;
        position: absolute;
        left: 0upx;
        top: 0upx;
        overflow-y: hidden;
        word-break: break-all;
        word-wrap: break-word;
        padding: 20upx;
    }
    
    .comment-reply-focus-send {
        width: 80upx;
        height: 40upx;
        line-height: 40upx;
        font-size: 30upx;
        text-align: center;
        color: #e84351;
        position: absolute;
        right: 30upx;
        bottom: 0upx;
    }
    export default {
        data() {
            return {
                currentInput: ''
            };
        },
        methods: {
            getInput(e) {
                this.currentInput = e.detail.value;
            },
            // 发送
            sendComment() {
                console.log(this.currentInput);
            }
        }
    };

    感兴趣的还可以查看:div模拟textarea文本域轻松实现高度自适应

     参考链接:https://blog.csdn.net/liuwengai/article/details/78987957

  • 相关阅读:
    固定执行计划-SQL PROFILE手工绑定
    其他典型的执行计划
    oracle-常见的执行计划(一)
    DBMS_XPLAN详细说明
    sql-查看执行计划的方法
    CBO基础概念
    webpack生产环境保留某些console.log
    提升webpack构建速度(二)
    提升webpack构建速度(一)
    【译文】更有效的调试webpack在构建时出现的错误
  • 原文地址:https://www.cnblogs.com/cap-rq/p/10000211.html
Copyright © 2011-2022 走看看