Login Screen - 图1

Login Screen Vue Component

Login Screen Vue component represents Login Screen component.

Login Screen Components

There are following components included:

  • **f7-login-screen** - login screen element
  • **f7-login-screen-title** - login screen title element

Login Screen Properties

PropTypeDefaultDescription
<f7-login-screen> properties
openedbooleanfalseAllows to open/close Login Screen and set its initial state

Login Screen Methods

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

Login Screen Events

EventDescription
<f7-login-screen> events
loginscreen:openEvent will be triggered when Login Screen starts its opening animation
loginscreen:openedEvent will be triggered after Login Screen completes its opening animation
loginscreen:closeEvent will be triggered when Login Screen starts its closing animation
loginscreen:closedEvent 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 login-screen-open property (to open it) and login-screen-close property to close it

Access To Login Screen Instance

You can access Login Screen initialized instance by accessing **.f7LoginScreen** component’s property.

Examples

  1. <template>
  2. <f7-page>
  3. <f7-navbar title="Login Screen"></f7-navbar>
  4. <f7-block>
  5. <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>
  6. </f7-block>
  7. <f7-list>
  8. <f7-list-item link="/login-screen-page/" title="As Separate Page"></f7-list-item>
  9. </f7-list>
  10. <f7-block>
  11. <f7-button raised big fill login-screen-open=".demo-login-screen">As Overlay</f7-button>
  12. </f7-block>
  13. <f7-block>
  14. <f7-button raised big fill @click="loginScreenOpened = true">Open Via Prop Change</f7-button>
  15. </f7-block>
  16. <f7-login-screen class="demo-login-screen" :opened="loginScreenOpened" @loginscreen:closed="loginScreenOpened = false">
  17. <f7-page login-screen>
  18. <f7-login-screen-title>Framework7</f7-login-screen-title>
  19. <f7-list form>
  20. <f7-list-input
  21. label="Username"
  22. type="text"
  23. placeholder="Your username"
  24. :value="username"
  25. @input="username = $event.target.value"
  26. ></f7-list-input>
  27. <f7-list-input
  28. label="Password"
  29. type="password"
  30. placeholder="Your password"
  31. :value="password"
  32. @input="password = $event.target.value"
  33. ></f7-list-input>
  34. </f7-list>
  35. <f7-list>
  36. <f7-list-button @click="signIn">Sign In</f7-list-button>
  37. <f7-block-footer>Some text about login information.<br>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</f7-block-footer>
  38. </f7-list>
  39. </f7-page>
  40. </f7-login-screen>
  41. </f7-page>
  42. </template>
  43. <script>
  44. export default {
  45. data() {
  46. return {
  47. loginScreenOpened: false,
  48. username: '',
  49. password: '',
  50. };
  51. },
  52. methods: {
  53. signIn() {
  54. const self = this;
  55. const app = self.$f7;
  56. app.dialog.alert(`Username: ${self.username}<br>Password: ${self.password}`, () => {
  57. app.loginScreen.close();
  58. });
  59. },
  60. },
  61. };
  62. </script>

Separate Login Screen Page

  1. <template>
  2. <f7-page no-toolbar no-navbar no-swipeback login-screen>
  3. <f7-login-screen-title>Framework7</f7-login-screen-title>
  4. <f7-list form>
  5. <f7-list-input
  6. label="Username"
  7. type="text"
  8. placeholder="Your username"
  9. :value="username"
  10. @input="username = $event.target.value"
  11. ></f7-list-input>
  12. <f7-list-input
  13. label="Password"
  14. type="password"
  15. placeholder="Your password"
  16. :value="password"
  17. @input="password = $event.target.value"
  18. ></f7-list-input>
  19. </f7-list>
  20. <f7-list>
  21. <f7-list-button @click="signIn">Sign In</f7-list-button>
  22. <f7-block-footer>Some text about login information.<br>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</f7-block-footer>
  23. </f7-list>
  24. </f7-page>
  25. </template>
  26. <script>
  27. export default {
  28. data() {
  29. return {
  30. username: '',
  31. password: '',
  32. };
  33. },
  34. methods: {
  35. signIn() {
  36. const self = this;
  37. const app = self.$f7;
  38. const router = self.$f7router;
  39. app.dialog.alert(`Username: ${self.username}<br>Password: ${self.password}`, () => {
  40. router.back();
  41. });
  42. },
  43. },
  44. };
  45. </script>