Visualizzazione dei risultati da 1 a 10 su 13

Hybrid View

  1. #1
    ciao!

    allora, ho modificato la classe come mi hai suggerito te:
    codice:
    class DialogBook extends React.Component {
    
        constructor(props) {
            super(props);
            this.state = {
                open: false
    }
        }
    
        componentDidMount() {
            this.setState({open: this.props.open})
        }
    
        componentDidUpdate(prevProps) {
            if (prevProps.open !== this.props.open) {
                this.setState({open: this.props.open})
            }
        }
    
        render() {
            return (
                <div>
                    <Dialog open={this.state.open} aria-labelledby="form-dialog-title">
                        <DialogTitle id="form-dialog-title">Subscribe</DialogTitle>
                        <DialogContent>
                            <DialogContentText>
                                Aggiungi
                            </DialogContentText>
                            <TextField
    autoFocus
                                margin="dense"
    id="name"
    label="Email Address"
    type="email"
    fullWidth
    />
                        </DialogContent>
                        <DialogActions>
                            <Button color="primary">
                                Cancel
                            </Button>
                            <Button color="primary">
                                Subscribe
                            </Button>
                        </DialogActions>
                    </Dialog>
                </div>
            )
        };
    }
    
    export default DialogBook;
    poi dall'altro componente richiamo questa funzione:
    codice:
    function showDialog() {
        console.log('ok');
        return (
             <DialogBook open={true}/>
        )
    }
    in sostanza vedo il console.log, ma il dialog cmq non appare!

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, cosa intendi con "richiamo questa funzione". Il componente andrebbe diciamo renderizzato /incluso e quindi solitamente o hai un componente da richiamare così:
    codice:
    {myVar==1 && <DialogBox open={true}...../>}
    oppure
    [code]
    Non so in quale momento devi richiamare il dialog senza vedere altro.
    Per quanto riguarda la chiusura del DialogBox, cosi' ad occhio, non dovrebbe servire fare un controllo con didUpdate, solitamente i Dialog hanno eventi nativi tipo onClose o click al di fuori del dialog stesso. Con questo dovresti già poter resettare lo stato.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.