微信小程序 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 相关文章推荐
jQuery 源代码显示控件 (Ajax加载方式).
May 18 Javascript
jQuery常用操作方法及常用函数总结
Jun 19 Javascript
使用jQuery管理选择结果
Jan 20 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
Sep 24 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
Jun 15 Javascript
微信小程序实现星级评分和展示
Jul 05 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
Jan 06 Javascript
Vue表情输入组件 微信face表情组件
Feb 11 Javascript
vue的for循环使用方法
Feb 12 Javascript
通过图带你深入了解vue的响应式原理
Jun 21 Javascript
Vue中的循环及修改差值表达式的方法
Aug 29 Javascript
在Layui中操作数据表格,给指定单元格添加事件示例
Oct 26 Javascript
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+xml编程之SimpleXML的应用实例
2015/01/24 PHP
CI框架常用函数封装实例
2016/11/21 PHP
基于JQuery实现异步刷新的代码(转载)
2011/03/29 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
2012/12/10 Javascript
浅析jQuery中常用的元素查找方法总结
2013/07/04 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
使用jQuery判断IE浏览器版本的代码
2014/06/14 Javascript
如何在node的express中使用socket.io
2014/12/15 Javascript
jQuery中用dom操作替代正则表达式
2014/12/29 Javascript
JS中的数组方法笔记整理
2016/07/26 Javascript
AngularJS基础 ng-dblclick 指令用法
2016/08/01 Javascript
Vue.js如何实现路由懒加载浅析
2017/08/14 Javascript
微信小程序使用Promise简化回调
2018/02/06 Javascript
在vue项目中,使用axios跨域处理
2018/03/07 Javascript
微信小程序实现换肤功能
2018/03/14 Javascript
jQuery实现获取form表单内容及绑定数据到form表单操作分析
2018/07/03 jQuery
vue-cli监听组件加载完成的方法
2018/09/07 Javascript
vue实现移动端悬浮窗效果
2018/12/01 Javascript
JS实现数组深拷贝的方法分析
2019/03/06 Javascript
JavaScript实现无限级递归树的示例代码
2019/03/29 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
2020/05/28 Javascript
[33:17]OG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python实现分割文件及合并文件的方法
2015/07/10 Python
bpython 功能强大的Python shell
2016/02/16 Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
2018/06/27 Python
基于python二叉树的构造和打印例子
2019/08/09 Python
Python pytesseract验证码识别库用法解析
2020/06/29 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
html5中监听canvas内部元素点击事件的三种方法
2019/04/28 HTML / CSS
四年的大学生生活自我评价
2013/12/09 职场文书
合作协议书怎么写
2014/04/18 职场文书
市政管理求职信范文
2014/05/07 职场文书
公司欠款证明
2015/06/24 职场文书
2016大学迎新晚会开场白
2015/11/24 职场文书
Nginx快速入门教程
2021/03/31 Servers
《模拟人生4》推出新补丁 “婚礼奇缘”DLC终于得到修复
2022/04/03 其他游戏