微信小程序 textarea 层级过高的解决方式

建立一个新的textarea 组件代替原生textarea ,废话不多说,上代码

<template>
    <view class="ui-textarea">
        <textarea class="textarea {{ hide? ‘hidden‘:‘‘}}" auto-height maxlength="{{maxlength}}" name="{{ name }}" value="{{ txt }}" placeholder="{{ placeholder }}" bindinput="onInput" bindblur="onBlur" focus="{{focus}}"></textarea>
        <view hidden="{{ hide == false }}" class="{{ txt === ‘‘?‘text placeholder‘:‘text‘}}" bindtap="onFocus">{{ txt ===‘‘? placeholder:txt }}</view>
    </view>
</template>
<script>
export default {
    config: {
        usingComponents: {}
    },
    behaviors: [],
    properties: {
        placeholder: {
            type: String,
            value: ‘‘
        },
        maxlength: {
            type: Number,
            value: 128
        },
        name: String,
        value: {
            type: String,
            value: ‘‘
        }
    },
    data: {
        hide: true,
        txt: ‘‘,
        focus: false
    },
    ready() {
        if (this.data.value != ‘‘) {
            this.setData({ txt: this.data.value })
        }
    },
    methods: {
        onFocus() {
            this.setData({ hide: false, focus: true })
        },
        onInput(e) {
            this.setData({ txt: e.detail.value })
        },
        onBlur() {
            this.setData({ hide: true, focus: false })
        }
    }
}
</script>
<style lang="less">
.ui-textarea {
  position: relative !important;

  .textarea.hidden {
    display: block !important;
    position: absolute !important;
    left: -999px;
    right: -999px;
    top: 0;
  }

  .textarea {
    width: 100%;
    box-sizing: border-box;
  }

  .text {
    height: 100%;
    padding: 6px 5px;
    font-size: 14px;
  }

  .placeholder {
    color: #888;
  }
}
</style>

Vue 代码,自己根据需求改一下 ,特别注意,不要用 wx;if 或者 hidden 属性 , wx:if 频繁渲染,虽然可以用,hidden 会出现 部分显示bug,[hidden]  会使auto-height 首次不正确

原文地址:https://www.cnblogs.com/microestc/p/11169191.html

时间: 2024-08-29 00:13:50

微信小程序 textarea 层级过高的解决方式的相关文章

微信小程序访问豆瓣电影api400错误解决方法

最近在跟着demo学习微信小程序,却卡在了第一步请求豆瓣电影api上,折腾了很久,代码如下: wx.request({ url : "https://api.douban.com/v2/movie/in_theaters", data: {}, header:{ "Content-Type":"application/json" }, success: function(res) { console.log(res.data); var data

微信小程序登录对接Django后端实现JWT方式验证登录

先上效果图 点击授权按钮后可以显示部分资料和头像,点击修改资料可以修改部分资料. 流程 1.使用微信小程序登录和获取用户信息Api接口 2.把Api获取的用户资料和code发送给django后端 3.通过微信接口把code换取成openid 4.后端将openid作为用户名和密码 5.后端通过JSON web token方式登录,把token和用户id传回小程序 6.小程序将token和用户id保存在storage中 下次请求需要验证用户身份的页面时,在header中加入token这个字段 微信

微信小程序不同机型的兼容布局解决

因为小程序是以微信为平台运行的,可以同时运行在android与ios的设备上,所以不可避免的会遇到布局适配问题,特别是在iphone5上,因为屏幕尺寸小的缘故,也是适配问题最多的机型,下面就简单介绍几种适配方法. rpx适配rpx是小程序中的尺寸单位,它有以下特征: 小程序的屏幕宽固定为750rpx(即750个物理像素),在所有设备上都是如此1rpx=(screenWidth / 750)px,其中screenWidth为手机屏幕的实际的宽度(单位px),例如iphone6的screenWidt

初学微信小程序开发—文件解析错误的解决办法

今天是我学习小程序第二天,当我正在调试新增页面时,发现这个错误: 提示为:文件解析错误  SyntaxError: Unexpected end of JSON input 一开始以为我用错标点符号之类的错误,后来百度发现,是因为这里面空的 解决办法非常简单,看图中步骤:找到即将跳转的路径,然后在左侧找到对应的文件(以本案例为例,找到weekly.json) 补上一个大括号就行了,也就是即将跳转的.json文件不能为空 第一次写博客,很新奇 原文地址:https://www.cnblogs.co

微信小程序-textarea中的文本读取以及换行问题

今天客户那边要求textarea中输入的问题可以按回车键换行,而我使用的是bindinput获取值,但是呢bindinput 处理函数的返回值并不会反映到 textarea 上,按回车键导致点击换行符无法使文字换行. 此时便换用 form bindsubmit="formSubmit" 方式获取textarea值了,此种方式的好处是按回车键自动换行. 并且在用户回车的地方会带有?这个符号,这个符号相当于 换行符 \n. 1.项目详情页中需要将textarea值换行显示,此时放在<

微信小程序 - 获取用户信息的几种方式

1. 老接口(上线使用-测试用button先获取用户信息) 1 // 登录 2 wx.login({ 3 success: res => { 4 // 发送 res.code 到后台换取 openId, sessionKey, unionId 5 // 也就是发送到后端,后端通过接口发送到前端,前端接收用户信息等.... 6 wx.setStorageSync('code', res.code); 7 console.log(wx.getStorageSync('code')) 8 9 // 获

基于Node.js+MySQL开发的开源微信小程序B2C商城(页面高仿网易严选)

高仿网易严选的微信小程序商城(微信小程序客户端) 界面高仿网易严选商城(主要是2016年wap版) 测试数据采集自网易严选商城 功能和数据库参考ecshop 服务端api基于Node.js+ThinkJS+MySQL 计划添加基于Vue.js的后台管理系统.PC版.Wap版 GitHub: https://github.com/tumobi/nideshop-mini-program 项目截图 首页 专题 分类 商品列表 商品详情 购物车 订单中心 功能列表 首页 分类首页.分类商品.新品首发.

NideShop:基于Node.js+MySQL开发的微信小程序商城开源啦

高仿网易严选的微信小程序商城(微信小程序客户端) 界面高仿网易严选商城(主要是2016年wap版) 测试数据采集自网易严选商城 服务端api基于Node.js+ThinkJS+MySQL 计划添加基于Vue.js的后台管理系统.PC版.Wap版 GitHub:https://github.com/tumobi/nideshop-mini-program 项目截图 功能列表 首页 分类首页.分类商品.新品首发.人气推荐商品页面 商品详情页面,包含加入购物车.收藏商品.商品评论功能 搜索功能 专题功

微信小程序详解——页面之间的跳转方式【路由】和参数传递

微信小程序拥有web网页和Application共同的特征,我们的页面都不是孤立存在的,而是通过和其他页面进行交互,来共同完成系统的功能.今天我们来研究小程序页面之间的跳转方式. 1.先导 在Android中,我们Activity和Fragment都有栈的概念在里面,微信小程序页面也有栈的概念在里面.微信小程序页面跳转有四种方式: 1.wx.navigateTo(OBJECT): 2.wx.redirectTo(OBJECT): 3.wx.switchTab(OBJECT): 4.wx.navi