加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

TypeError: Error #1034: 强制转换类型失败:无法将 ""

发布时间:2020-12-15 03:35:41 所属栏目:百科 来源:网络整理
导读:1、错误描述 TypeError: Error #1034: 强制转换类型失败:无法将 "" 转换为 Array。at mx.charts.series::LineSeries/updateFilter()[E:dev4.0.0frameworksprojectsdatavisualizationsrcmxchartsseriesLineSeries.as:1225]at mx.charts.chartClasse

1、错误描述

TypeError: Error #1034: 强制转换类型失败:无法将 "" 转换为 Array。
	at mx.charts.series::LineSeries/updateFilter()[E:dev4.0.0frameworksprojectsdatavisualizationsrcmxchartsseriesLineSeries.as:1225]
	at mx.charts.chartClasses::Series/validateTransform()[E:dev4.0.0frameworksprojectsdatavisualizationsrcmxchartschartClassesSeries.as:1916]
	at mx.charts.chartClasses::Series/updateDisplayList()[E:dev4.0.0frameworksprojectsdatavisualizationsrcmxchartschartClassesSeries.as:948]
	at mx.charts.series::LineSeries/updateDisplayList()[E:dev4.0.0frameworksprojectsdatavisualizationsrcmxchartsseriesLineSeries.as:983]
	at mx.core::UIComponent/validateDisplayList()[E:dev4.0.0frameworksprojectsframeworksrcmxcoreUIComponent.as:8531]
	at mx.managers::LayoutManager/validateDisplayList()[E:dev4.0.0frameworksprojectsframeworksrcmxmanagersLayoutManager.as:663]
	at mx.managers::LayoutManager/doPhasedInstantiation()[E:dev4.0.0frameworksprojectsframeworksrcmxmanagersLayoutManager.as:718]
	at mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:dev4.0.0frameworksprojectsframeworksrcmxmanagersLayoutManager.as:1072]

2、错误原因

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx"
			   width="100%" height="100%" fontSize="12"
			   fontFamily="微软雅黑">
	<s:layout>
		<s:BasicLayout/>
	</s:layout>
	<fx:Script>
		<![CDATA[
			import mx.charts.ChartItem;
			import mx.charts.chartClasses.Series;
			import mx.charts.series.items.LineSeriesItem;
			import mx.collections.ArrayCollection;
			import mx.events.FlexEvent;
			import mx.graphics.Stroke;
			
			[Bindable]
			//折线图数据绑定
			private var lineArray:ArrayCollection = new ArrayCollection([
				{seasons:"春季",rate:"0.48677"},{seasons:"夏季",rate:"0.122343232"},{seasons:"秋季",rate:"0.5657645"},{seasons:"冬季",rate:"0.67484889"}
			]);
			
			/**
			 * 设置折线图中比率的位数
			 */
			public function dataFunction(series:Series,item:Object,fieldName:String):Object 
			{
				var temp:Number = item.rate;
				var number:String = formatter.format(temp);
				return number;
			}  
			
			public function myFillFunction(item:ChartItem,index:Number):String
			{
				var curItem:LineSeriesItem = LineSeriesItem(item);
				var num:String = formatter.format(curItem.yNumber);
				return num;
			}
			
			public function myFilterFunction(item:Object):String 
			{
				var temp:Number = item.rate;
				var number:String = formatter.format(temp);
				return number;
			}

			
		]]>
	</fx:Script>
	<fx:Declarations>
		<mx:NumberFormatter id="formatter" precision="2" rounding="up"/>
	</fx:Declarations>
	
	<mx:VBox width="100%" height="100%" paddingBottom="10" paddingLeft="10" paddingRight="15"
			 paddingTop="10" horizontalAlign="center">
		<mx:LineChart id="line" width="100%" height="90%" dataProvider="{lineArray}" showDataTips="true">
			<mx:horizontalAxis>
				<mx:CategoryAxis categoryField="seasons" displayName="四季"/>
			</mx:horizontalAxis>
			
			<mx:horizontalAxisRenderers>
				<mx:AxisRenderer placement="bottom" tickLength="1" tickStroke="{new Stroke(0xFF0000,1)}"
								 axisStroke="{new Stroke(0xFF0000,1)}">
					<mx:axis>
						<mx:LinearAxis id="bottomAxis"/>
					</mx:axis>
				</mx:AxisRenderer>
			</mx:horizontalAxisRenderers>
			
			<mx:verticalAxisRenderers>
				<mx:AxisRenderer placement="left" tickLength="1" tickStroke="{new Stroke(0xFF0000,1)}">
					<mx:axis>
						<mx:LinearAxis id="leftAxis"/>
					</mx:axis>
				</mx:AxisRenderer>
			</mx:verticalAxisRenderers>
			
			<mx:series>
				<mx:LineSeries verticalAxis="{leftAxis}" displayName="比率" xField="seasons" yField="rate"
							  filterFunction="myFilterFunction"/>
			</mx:series>
			
			<mx:filters>
				<fx:Array/>
			</mx:filters>
		</mx:LineChart>
		<mx:Legend dataProvider="{line}"/>
		
	</mx:VBox>
</s:Application>

3、解决办法

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读