Я вызываю Alert.Show в функции и хочу получить оттуда результат (Flex, ActionScript). - PullRequest
0 голосов
/ 14 ноября 2010

Я использую Alert.show в функции и хочу получить от пользователя ответ оттуда. Так как я могу этого достичь. Проблема в том, что функция, которая вызывает Alert.show, будет возвращать значение true или false в зависимости от ответа пользователя. но похоже, что в Alert.show он позволяет только передать CloseHandler для этого. это новая функция. и с тех пор я могу получить ответ пользователя, откуда он звонит, чтобы вернуть ответ пользователя.

Действительно спасибо за помощь Юань

Ответы [ 3 ]

1 голос
/ 14 ноября 2010

Попробуйте этот код

<?xml version="1.0" encoding="utf-8"?>
<!-- Simple example to demonstrate the Halo Alert control. -->
<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">

    <fx:Script>
        <![CDATA[
            import mx.controls.Alert;
            import mx.events.CloseEvent;

            // Event handler function uses a static method to show
            // a pop-up window with the title, message, and requested buttons.
            private function clickHandler(evt:Event):void {
                Alert.show("Do you want to save your changes?", "Save Changes", Alert.YES|Alert.NO, this, alertClickHandler);
            }

            // Event handler function for displaying the selected Alert button.
            private function alertClickHandler(evt:CloseEvent):void {
                if (evt.detail == Alert.YES) {
                    status.text = "You answered Yes";
                } else {
                    status.text = "You answered No";
                }
            }

            // Event handler function changes the default Button labels and sets the
            // Button widths. If you later use an Alert with the default Buttons, 
            // you must reset these values.
            private function secondClickHandler(evt:Event):void {
                Alert.buttonWidth = 100;
                Alert.yesLabel = "Magenta";
                Alert.noLabel = "Blue";
                Alert.cancelLabel = "Green";

                Alert.show("Select a color:", "Color Selection", Alert.YES|Alert.NO|Alert.CANCEL, this);

                // Set the labels back to normal:
                Alert.yesLabel = "Yes";
                Alert.noLabel = "No";
            }
        ]]>
    </fx:Script>

    <s:Panel title="Halo Alert Control Example"
            width="75%"
            horizontalCenter="0" verticalCenter="0">
        <s:VGroup left="10" right="10" top="10" bottom="10">
            <s:Label color="blue"
                    text="Click the button below to display a simple Alert window."/>
            <s:Button label="Click Me" click="Alert.show('Hello World!', 'Message');"/>

            <mx:HRule width="100%" />

            <s:Label color="blue" 
                    text="Click the button below to display an Alert window and capture the button pressed by the user."/>
            <s:Button label="Click Me" click="clickHandler(event);"/>
            <s:Label id="status" fontWeight="bold"/>

            <mx:HRule width="100%" />

            <s:Label color="blue"
                    text="Click the button below to display an Alert window that uses custom Button labels."/>
            <s:Button label="Click Me" click="secondClickHandler(event);"/>
        </s:VGroup>
    </s:Panel>

</s:Application>
1 голос
/ 14 ноября 2010

Вы можете сделать это.вот как:

private function deleteItem_Confirmation_Handler(event:CloseEvent):void
    {
        if(event.detail == Alert.OK)
        {
            //Your code here
        }
    }

    public function deleteValue():void
    {
        Alert.show("Are you sure you want to delete this item?", "confimation", Alert.OK | Alert.CANCEL, null, deleteItem_Confirmation_Handler, null, Alert.OK);
    }
0 голосов
/ 01 июля 2016

изменить

evt.detail == Alert.YES

на

evt.detail == 1

кнопка да возвращает значение int 1, кнопка no возвращает значение int 2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...