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

 更新时间:2019年10月14日 11:17:10   作者:microestc  
这篇文章主要介绍了微信小程序 textarea 层级过高问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

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

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

相关文章

  • 微信小程序授权登录的最新实现方案详解(2023年)

    微信小程序授权登录的最新实现方案详解(2023年)

    最近由于公司需要研究了一下微信小程序的开发,特此记录一下小程序登录授权的流程,便于自己理解,也希望对他人有多帮助,下面这篇文章主要给大家介绍了关于微信小程序授权登录的最新实现方案的相关资料,需要的朋友可以参考下
    2023-02-02
  • 详解JavaScript中Math内置对象基本方法的使用

    详解JavaScript中Math内置对象基本方法的使用

    Math 是javaScript的内置对象,包含了部分数学常数属性和数学函数方法。本文将详细讲解Math基本方法的使用,感兴趣的小伙伴可以学习一下
    2022-04-04
  • JS中将图片base64转file文件的两种方式

    JS中将图片base64转file文件的两种方式

    这篇文章主要介绍了JS中图片base64转file文件的两种方式,实现把图片的base64编码转成file文件的功能,然后再上传至服务器,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • javaScript 逻辑运算符使用技巧整理

    javaScript 逻辑运算符使用技巧整理

    这篇文章主要介绍了javaScript 逻辑运算符使用技巧整理的相关资料,需要的朋友可以参考下
    2017-05-05
  • JavaScript实现瀑布流布局的3种方式

    JavaScript实现瀑布流布局的3种方式

    这篇文章主要为大家详细介绍了JavaScript实现瀑布流布局的3种方式,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • JS基于面向对象实现的拖拽功能示例

    JS基于面向对象实现的拖拽功能示例

    这篇文章主要介绍了JS基于面向对象实现的拖拽功能,涉及javascript面向对象与页面元素动态操作的相关技巧,需要的朋友可以参考下
    2016-12-12
  • 分享一个常用的javascript静态类

    分享一个常用的javascript静态类

    这篇文章主要分享一个常用的javascript静态类,笔者自己写的,需要的朋友可以参考下
    2014-12-12
  • JavaScript数组去重算法实例小结

    JavaScript数组去重算法实例小结

    这篇文章主要介绍了JavaScript数组去重算法,结合实例形式总结分析了JavaScript数组去重相关的读写、遍历、比较、排序等操作及算法改进相关实现技巧,需要的朋友可以参考下
    2018-05-05
  • Javascript面试经典套路reduce函数查重

    Javascript面试经典套路reduce函数查重

    reduce函数,是ECMAScript5规范中出现的数组方法.下面通过本文给大家分享Javascript面试经典套路reduce函数查重,需要的朋友参考下吧
    2017-03-03
  • 利用微信小程序制作属于自己的Icon图标

    利用微信小程序制作属于自己的Icon图标

    项目中常常需要使用到字体图标,微信小程序中使用字体图标与在平常的web前端中类似但是又有区别,下面这篇文章主要给大家介绍了关于利用微信小程序制作属于自己的Icon图标的相关资料,需要的朋友可以参考下
    2022-04-04

最新评论