微信小程序 textarea 层级过高问题简单解决方案


Posted in Javascript onOctober 14, 2019

这篇文章主要介绍了微信小程序 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 首次不正确

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript的数据类型、字面量、变量介绍
May 23 Javascript
javascript中的绑定与解绑函数应用示例
Jun 24 Javascript
Javascript脚本实现静态网页加密实例代码
Nov 05 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
Feb 22 Javascript
Adapter适配器模式在JavaScript设计模式编程中的运用分析
May 18 Javascript
jQuery实现表格行和列的动态添加与删除方法【测试可用】
Aug 01 Javascript
详解Vue生命周期的示例
Mar 10 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
Jul 02 Javascript
JavaScript Date对象应用实例分享
Oct 30 Javascript
vue axios请求超时的正确处理方法
Apr 02 Javascript
为什么使用koa2搭建微信第三方公众平台的原因
May 16 Javascript
Vue 打包后相对路径的引用问题
Jun 05 Vue.js
vue的路由映射问题及解决方案
Oct 14 #Javascript
浅谈Vue为什么不能检测数组变动
Oct 14 #Javascript
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
Oct 14 #Javascript
Vue3.0中的monorepo管理模式的实现
Oct 14 #Javascript
Vue3 源码导读(推荐)
Oct 14 #Javascript
基于JS实现父组件的请求服务过程解析
Oct 14 #Javascript
JavaScript this在函数中的指向及实例详解
Oct 14 #Javascript
You might like
php开发留言板的CRUD(增,删,改,查)操作
2012/04/19 PHP
php+highchats生成动态统计图
2014/05/21 PHP
PHP 对象继承原理与简单用法示例
2020/04/21 PHP
基于ThinkPHP删除目录及目录文件函数
2020/10/28 PHP
js读取本地excel文档数据的代码
2010/11/11 Javascript
jquery选择器之基本过滤选择器详解
2014/01/27 Javascript
iframe实用操作锦集
2014/04/22 Javascript
Firefox中使用outerHTML的2种解决方法
2014/06/07 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
2015/05/09 Javascript
javascript实现删除前弹出确认框
2015/06/04 Javascript
JavaScript提升性能的常用技巧总结【经典】
2016/06/20 Javascript
jQuery简单实现title提示效果示例
2016/08/01 Javascript
移动适配的几种方案(三种方案)
2016/11/25 Javascript
浅谈Vue.js组件(二)
2019/04/09 Javascript
JS中比Switch...Case更优雅的多条件判断写法
2019/09/05 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
原生JS与JQ获取元素的区别详解
2020/02/13 Javascript
javascript+css实现俄罗斯方块小游戏
2020/06/28 Javascript
vue将文件/图片批量打包下载zip的教程
2020/10/21 Javascript
一个小示例告诉你Python语言的优雅之处
2014/07/04 Python
30分钟搭建Python的Flask框架并在上面编写第一个应用
2015/03/30 Python
Python多线程经典问题之乘客做公交车算法实例
2017/03/22 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
2018/01/24 Python
Python DataFrame设置/更改列表字段/元素类型的方法
2018/06/09 Python
python: 自动安装缺失库文件的方法
2018/10/22 Python
pytorch 固定部分参数训练的方法
2019/08/17 Python
Python3批量移动指定文件到指定文件夹方法示例
2019/09/02 Python
Python日志器使用方法及原理解析
2020/09/27 Python
详解前端HTML5几种存储方式的总结
2016/12/27 HTML / CSS
广告传媒专业应届生求职信
2014/03/01 职场文书
国旗下的讲话演讲稿
2014/05/08 职场文书
年底个人总结范文
2015/03/10 职场文书
党员进社区活动总结
2015/05/07 职场文书
毕业典礼致辞
2015/07/29 职场文书
MySQL锁机制
2021/04/05 MySQL
Nginx配置之禁止指定IP访问
2022/05/02 Servers