Login Screen - 图1

Login Screen Svelte Component

Login Screen Svelte component represents Login Screen component.

Login Screen Components

There are following components included:

  • LoginScreen - login screen element
  • LoginScreenTitle - login screen title element

Login Screen Properties

Prop Type Default Description
<LoginScreen> properties
--- --- --- ---
opened boolean false Allows to open/close Login Screen and set its initial state

Login Screen Methods

<LoginScreen> methods
.open(animate) Open login screen
.close(animate) Close login screen

Login Screen Events

Event Description
<LoginScreen> events
--- ---
loginScreenOpen Event will be triggered when Login Screen starts its opening animation
loginScreenOpened Event will be triggered after Login Screen completes its opening animation
loginScreenClose Event will be triggered when Login Screen starts its closing animation
loginScreenClosed Event will be triggered after Login Screen completes its closing animation

Open And Close Login Screen

In addition to Login Screen open()/close() methods, you can open and close it:

  • using Login Screen API
  • by passing true or false to its opened prop
  • by clicking on Link or Button with relevant loginScreenOpen property (to open it) and loginScreenClose property to close it

Access To Login Screen Instance

You can access Login Screen initialized instance by calling .instance() component’s method. For example:

1. <LoginScreen bind:this={component}>...</LoginScreen>

3. <script>
4. let component;

6. // to get instance in some method
7. component.instance()
8. </script>

Examples

1. <Page>
2. <Navbar title="Login Screen"></Navbar>
3. <Block>
4. <p>Framework7 comes with ready to use Login Screen layout. It could be used inside of page or inside of popup (Embedded) or as a standalone overlay:</p>
5. </Block>

7. <List>
8. <ListItem link="/login-screen-page/" title="As Separate Page"></ListItem>
9. </List>

11. <Block>
12. <Button raised large fill loginScreenOpen=".demo-login-screen">As Overlay</Button>
13. </Block>

15. <Block>
16. <Button raised large fill onClick={() => loginScreenOpened = true}>Open Via Prop Change</Button>
17. </Block>

19. <LoginScreen
20. class="demo-login-screen"
21. opened={loginScreenOpened}
22. onLoginScreenClosed={() => loginScreenOpened = false}
23. >
24. <Page loginScreen>
25. <LoginScreenTitle>Framework7</LoginScreenTitle>
26. <List form>
27. <ListInput
28. label="Username"
29. type="text"
30. placeholder="Your username"
31. value={username}
32. onInput={(e) => username = e.target.value}
33. />
34. <ListInput
35. label="Password"
36. type="password"
37. placeholder="Your password"
38. value={password}
39. onInput={(e) => password = e.target.value}
40. />
41. </List>
42. <List>
43. <ListButton onClick={signIn}>Sign In</ListButton>
44. </List>
45. <BlockFooter>Some text about login information.<br />Lorem ipsum dolor sit amet, consectetur adipiscing elit.</BlockFooter>
46. </Page>
47. </LoginScreen>
48. </Page>

50. <script>
51. import {f7, Page, LoginScreenTitle, List, ListInput, ListButton, BlockFooter, Navbar, Block, ListItem, Button, LoginScreen} from 'framework7-svelte';

53. let loginScreenOpened = false;
54. let username = '';
55. let password = '';

57. function signIn() {
58. f7.dialog.alert(`Username: ${username}<br>Password: ${password}`, () => {
59. f7.loginScreen.close();
60. });
61. }
62. </script>

Separate Login Screen Page

1. <Page noToolbar noNavbar noSwipeback loginScreen>
2. <LoginScreenTitle>Framework7</LoginScreenTitle>
3. <List form>
4. <ListInput
5. label="Username"
6. type="text"
7. placeholder="Your username"
8. value={username}
9. onInput={(e) => username = e.target.value}
10. />
11. <ListInput
12. label="Password"
13. type="password"
14. placeholder="Your password"
15. value={password}
16. onInput={(e) => password = e.target.value}
17. />
18. </List>
19. <List>
20. <ListButton onClick={signIn}>Sign In</ListButton>
21. </List>
22. <BlockFooter>Some text about login information.<br />Lorem ipsum dolor sit amet, consectetur adipiscing elit.</BlockFooter>
23. </Page>

25. <script>
26. import {f7, Page, LoginScreenTitle, List, ListInput, ListButton, BlockFooter} from 'framework7-svelte';

28. export let f7router;

30. let username = '';
31. let password = '';

33. function signIn() {
34. f7.dialog.alert(`Username: ${username}<br>Password: ${password}`, () => {
35. f7router.back();
36. });
37. }
38. </script>

← List Item

Menu →