1

在 Flex 移动应用程序(或任何 Flex 4 应用程序)中 - 如何根据其他 2 个字段的内容启用/禁用按钮?

在此处输入图像描述

我在下面粘贴我非常简单的测试代码,它的问题是 Flash Builder 4.7 中的语法错误:The entity name must immediately follow the '&' in the entity reference.- 这可能意味着&符号是一个特殊字符,但是如何解决这个(可能是频繁的)问题?

测试应用程序.mxml:

<?xml version="1.0" encoding="utf-8"?>
<s:ViewNavigatorApplication 
    xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    firstView="views.Home" 
    applicationDPI="160">
</s:ViewNavigatorApplication>

意见/Home.mxml:

<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark" 
        title="How to enable Login button?">

    <s:layout>
        <s:VerticalLayout paddingTop="8"
            horizontalAlign="center" gap="8" />
    </s:layout>

    <s:Label text="Username:" />
    <s:TextInput id="_username" />
    <s:Label text="Password:" />
    <s:TextInput id="_password" />

    <s:Button id="_login" 
              label="Login" 
              enabled="{_username.text.length > 0 && _password.text.length > 0}" />
</s:View>
4

2 回答 2

3

当您在 mxml 中的 CDATA 之外编写它时,您应该替换&&为。&amp;&amp;

使用它也更好_username.text!=''_username.text.length > 0因为它会在运行时引起警告,因为它text不是事件调度程序并且它不能报告length更改。但是,它将更新按钮的可用性,因为它text会自行更改并TextInput报告它导致绑定更新。

于 2012-12-20T14:17:51.573 回答
0

使用绑定表达式时。mxml 不考虑 && 而是将您的表达式写为

& &

....mxml 也不读取转义字符,例如 \t 用于制表符...而是在 actionscript 中编写表达式,然后使用数据绑定 .cheers ;-)

于 2017-02-27T21:35:05.697 回答