ログイン画面 Svelte コンポーネント

ログイン画面 Svelte コンポーネントは、ログイン画面 コンポーネントを表します。

ログイン画面コンポーネント

次のコンポーネントが含まれています。

ログイン画面のプロパティ

プロパティデフォルト説明
<LoginScreen> プロパティ
openedbooleanfalseログイン画面を開閉し、初期状態を設定することができます。
animatebooleanモーダルをアニメーション付きで開閉するかどうか
containerElHTMLElement
string
モーダルをマウントする要素 (デフォルトはアプリのルート要素)

ログイン画面のイベント

イベント説明
<LoginScreen> イベント
loginScreenOpenログイン画面がオープニングアニメーションを開始するとトリガーされます。
loginScreenOpenedログイン画面がオープニングアニメーションを完了するとトリガーされます。
loginScreenCloseログイン画面がクロージングアニメーションを開始するとトリガーされます。
loginScreenClosedログイン画面がクロージングアニメーションを完了するとトリガーされます。

ログイン画面の開閉

ログイン画面の open()/close() メソッドに加えて、

ログイン画面インスタンスへのアクセス

コンポーネントの .instance() メソッドを呼び出すことで、初期化されたログイン画面インスタンスにアクセスできます。例:

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

<script>
  let component;

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


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

  let loginScreenOpened = false;
  let username = '';
  let password = '';

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

<Page>
  <Navbar title="Login Screen" />
  <Block>
    <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>
  </Block>

  <!-- example-hidden-start -->
  <List strong insetMd outlineIos>
    <ListItem link="/login-screen-page/" title="As Separate Page" />
  </List>
  <!-- example-hidden-end -->

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

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

  <LoginScreen
    class="demo-login-screen"
    opened={loginScreenOpened}
    onLoginScreenClosed={() => {
      loginScreenOpened = false;
      console.log('foobar');
    }}
  >
    <Page loginScreen>
      <LoginScreenTitle>Framework7</LoginScreenTitle>
      <List form>
        <ListInput
          label="Username"
          type="text"
          placeholder="Your username"
          value={username}
          onInput={(e) => (username = e.target.value)}
        />
        <ListInput
          label="Password"
          type="password"
          placeholder="Your password"
          value={password}
          onInput={(e) => (password = e.target.value)}
        />
      </List>
      <List inset>
        <ListButton onClick={signIn}>Sign In</ListButton>
      </List>
      <BlockFooter>
        Some text about login information.<br />Lorem ipsum dolor sit amet, consectetur adipiscing
        elit.
      </BlockFooter>
    </Page>
  </LoginScreen>
</Page>