Flex中如何通过maxChars属性,限制TextArea控件中允许输入的字数

本文介绍了一个使用Flex技术实现的文本输入框与进度条联动的示例。当用户在文本框中输入字符时,进度条会实时更新,显示当前输入字符数占最大允许字符数的比例,并通过不同的颜色提示进度状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  main.mxml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3.         layout="vertical"
  4.         verticalAlign="middle"
  5.         backgroundColor="white">
  6.  
  7.     <mx:Script>
  8.         <![CDATA[
  9.             private function textArea_change(evt:Event):void {
  10.                 var ta:TextArea = evt.currentTarget as TextArea;
  11.                 progressBar.setProgress(ta.length, ta.maxChars);
  12.             }
  13.  
  14.             private function progressBar_progress(evt:ProgressEvent):void {
  15.                 var pb:ProgressBar = evt.currentTarget as ProgressBar;
  16.                 if (pb.percentComplete > 95) {
  17.                     pb.setStyle("themeColor", "red");
  18.                 } else if (pb.percentComplete > 80) {
  19.                     pb.setStyle("themeColor", "yellow");
  20.                 } else {
  21.                     pb.setStyle("themeColor", "haloGreen");
  22.                 }
  23.             }
  24.         ]]>
  25.     </mx:Script>
  26.  
  27.     <mx:Panel>
  28.         <mx:TextArea id="textArea"
  29.                 width="320"
  30.                 height="120"
  31.                 maxChars="300"
  32.                 change="textArea_change(event);" />
  33.         <mx:ControlBar>
  34.             <mx:ProgressBar id="progressBar"
  35.                     mode="manual"
  36.                     minimum="0"
  37.                     maximum="{textArea.maxChars}"
  38.                     label="%1 of %2 characters (%3%%)"
  39.                     labelPlacement="center"
  40.                     width="100%"
  41.                     progress="progressBar_progress(event);" />
  42.         </mx:ControlBar>
  43.     </mx:Panel>
  44.  
  45. </mx:Application>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值