apache-flex 仅在2个TextInput字段不为空时启用按钮-随附代码和屏幕截图

weylhg0b  于 2022-11-01  发布在  Apache
关注(0)|答案(2)|浏览(125)

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

我在下面粘贴了我非常简单的测试代码,它的问题是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>
qnyhuwrf

qnyhuwrf1#

在mxml中的CDATA外部写入&&时,应将其替换为&amp;&amp;
最好使用_username.text!=''而不是_username.text.length > 0,因为text不是事件调度程序,它会在运行时发出警告,并且不能报告length的更改。但是,它会更新按钮的可用性,因为text本身会被更改,并且TextInput会报告它导致绑定更新。

niwlg2el

niwlg2el2#

使用绑定表达式时。mxml不考虑&&而是将表达式编写为
&&
....而且mxml不读取转义字符,例如\t表示制表符...而是在actionscript中编写表达式,然后使用数据绑定。干杯;- )

相关问题