微信小程序 限制字数文本域框组件封装

news/2024/7/20 1:39:36 标签: 微信小程序, 小程序

小程序>微信小程序 限制字数文本域框

介绍:展示类组件

导入

在app.json或index.json中引入组件

"usingComponents": {
		"text-field":"/pages/components/text-field/index"
	}

代码使用

<text-field  maxlength="500" bindtabsItemChange="getSonNameChange"></text-field>

组件代码

index.wxml
/* pages/components/text-field/index.wxml */
<view>
    <textarea class="textarea-bg " 
     maxlength='{{maxlength}}' placeholder="请输入遇到的问题" value="{{information}}" bindinput="getDataBindTap">
    <view class='word'>{{lastArea}}/{{maxlength}}</view>
    </textarea>
</view>
index.wxss
/* pages/components/text-field/index.wxss */
.textarea-bg {
    background-color: #F7F8FA;
    width: 85%;
    margin: 20rpx auto;
    padding:15rpx;
  }
  .word{
    position: absolute;
    bottom:30rpx;
    right:30rpx;
  }
index.js
// pages/components/text-field/index.js
Component({
	/**
	 * 组件的属性列表
	 */
	properties: {
		// 最大的输入字数
		maxlength:{
			type:String,
			value:"150"    
		}

	},

	/**
	 * 组件的初始数据
	 */
	data: {
		information:"",
		lastArea:"0"
	},
	
	/**
	 * 组件的方法列表
	 */
	methods: {
		getDataBindTap (e) {
			var information = e.detail.value;//输入的内容
			var lastArea  = e.detail.value.length;//输入内容的长度
			var that = this;
			that.setData({
				information: information,
				lastArea: lastArea
			})
			const sonData={information:information,lastArea:lastArea}
			that.triggerEvent('tabsItemChange',sonData)
			
		  },
	}
})

父组件代码
说明:使用子组件传父组件将输入的value值和长度传给父组件
// pages/shopping/shopping.js
Page({

	/**
	 * 页面的初始数据
	 */
	data: {
		information:"",
		lastArea:"0"
		
	},
	getSonNameChange (e) {
		//  获取子组件传过来的数据
		console.log(e)
		const { information, lastArea} = e.detail 
		console.log(information,lastArea)
		this.setData({
			information:information,
			lastArea:lastArea
		})
	  },

	/**
	 * 生命周期函数--监听页面加载
	 */
	onLoad(options) {

	},
	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow() {

	},

	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide() {

	},

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload() {

	},
})

在这里插入图片描述
注:最近重复代码写的有点多,特此封装!!


http://www.niftyadmin.cn/n/5190955.html

相关文章

【汇编】栈及栈操作的实现

文章目录 前言一、栈是什么&#xff1f;二、栈的特点三、栈操作四、8086cpu操作栈4.1 汇编指令4.2 汇编代码讲解问题&#xff1a;回答&#xff1a; 4.3 栈的操作4.3 push 指令和pop指令的执行过程执行入栈(push)时&#xff0c;栈顶超出栈空间执行出栈(pop)时&#xff0c;栈顶超…

TableUtilCache:针对CSV表格进行的缓存

TableUtilCache:针对CSV表格进行的缓存 文件结构 首先来看下CSV文件的结构&#xff0c;如下图&#xff1a; 第一行是字段类型&#xff0c;第二行是字段名字&#xff1b;再往下是数据。每个元素之间都是使用逗号分隔。 看一下缓存里面存储所有表数据的字段 如下图&#xff…

最新AI创作系统ChatGPT系统运营源码+支持GPT-4多模态模型

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

[Linux]创建新用户并授予root权限

本篇blog介绍怎么在linux下创建新用户并授予root权限&#xff0c;同时为新用户创建自己的home目录。 创建新用户&#xff0c;同时创建指定的家目录 useradd -d /home/<YOUR USERNAME> -m <YOUR USERNAME>授予root权限 sudo usermod -aG sudo <YOUR USERNAME&…

html-网站菜单-点击显示导航栏

一、效果图 1.点击显示菜单栏&#xff0c;点击x号关闭&#xff1b; 2.点击一级菜单&#xff0c;展开显示二级&#xff0c;并且加号变为减号&#xff1b; 3.点击其他一级导航&#xff0c;自动收起展开的导航。 二、代码实现 <!DOCTYPE html> <html><head>&…

SpringBoot 整合 Quartz 实现 对任务进行CRUD

前言 公司之前的项目的定时任务都是使用Schedule注解进行管理的&#xff1b;新需求需要实现对定时任务进行动态管理。后面决定用Quartz框架进行集成&#xff0c;以最小的代码来管理定时任务。 所需依赖&#xff1a;Springboot 1.xx 或 2.xx-RELEASE 都行, quartz 使用2.3.0版…

鸿蒙4.0开发笔记之DevEco Studio如何使用Previewer窗口预览器(一)

一、预览器作用 DevEco Studio预览器概况在HarmonyOS应用开发过程中&#xff0c;通过使用预览器&#xff0c;可以查看应用的UI效果&#xff0c;方便开发者实时查看应用的运行效果&#xff0c;随时调整代码。 二、打开Previewer预览器 1、正常启动 打开预览器的位置在DevEco…

canal1.1.7实战

1.环境搭建 canal可以用来监听mysql数据库的变化&#xff0c;用来同步数据 先下载最新的部署版本&#xff0c;release地址:Releases alibaba/canal GitHub 包下载地址: https://github.com/alibaba/canal/releases/download/canal-1.1.7/canal.deployer-1.1.7.tar.gz 下载…