根据用户输入动态添加表单的多个实例 - Flex

发布于 2024-08-23 15:21:20 字数 174 浏览 5 评论 0原文

我正在尝试创建一个基于用户输入的表单,该表单将确定动态生成多少表单。

我有一个带有包含 1-4 的组合框的基本状态。根据用户的选择,我希望下一个状态生成表格的数量。因此,如果您用户选择 2 并单击下一步 - 将显示该表单的 2 个副本。

我只是想知道这是否可能,我将如何去做,或者是否有人知道任何例子?

I'm trying to create a form that based on the users input would determine how many forms to generate dynamically.

I have a base state with a combo box that contains 1-4. Bases on the users selection I would like to have the next state generate the number of forms. So if you user selects 2 and click next - 2 copies of the form would be display.

I'm just wondering if this is possible how i would go about doing this or if any one knows of any examples?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蛮可爱 2024-08-30 15:21:20

这当然是可能的。这是一个粗略的示例,可以为您提供一些关于您可以做什么的想法。 :)

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;

            [Bindable]
            public var dataProviderCombo:ArrayCollection = new ArrayCollection(
                [ {label:"1 Form", data:1}, 
                  {label:"2 Forms", data:2}, 
                  {label:"3 Forms", data:3},
                  {label:"4 Forms", data:4} ]);

            private function GenerateForms():void
            {
                myFormContainer.removeAllChildren();

                for (var i:int = 1; i <= myComboBox.selectedItem.data; i++)
                {
                    var formToAdd:MyCustomForm = new MyCustomForm();
                    myFormContainer.addChild(formToAdd);
                }
            }
        ]]>
    </mx:Script>
    <mx:ComboBox id="myComboBox" x="0" y="10" dataProvider="{dataProviderCombo}" change="GenerateForms();"></mx:ComboBox>
    <mx:HBox id="myFormContainer" y="40">

    </mx:HBox>
</mx:Application>

This is certainly possible. Here's a rough example to give you some ideas on what you could do. :)

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;

            [Bindable]
            public var dataProviderCombo:ArrayCollection = new ArrayCollection(
                [ {label:"1 Form", data:1}, 
                  {label:"2 Forms", data:2}, 
                  {label:"3 Forms", data:3},
                  {label:"4 Forms", data:4} ]);

            private function GenerateForms():void
            {
                myFormContainer.removeAllChildren();

                for (var i:int = 1; i <= myComboBox.selectedItem.data; i++)
                {
                    var formToAdd:MyCustomForm = new MyCustomForm();
                    myFormContainer.addChild(formToAdd);
                }
            }
        ]]>
    </mx:Script>
    <mx:ComboBox id="myComboBox" x="0" y="10" dataProvider="{dataProviderCombo}" change="GenerateForms();"></mx:ComboBox>
    <mx:HBox id="myFormContainer" y="40">

    </mx:HBox>
</mx:Application>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文