スマートセレクトSvelteコンポーネント

    Smart Selectは、通常のフォームセレクトを、グループ化されたラジオ入力によるダイナミックなページに簡単に変換することができます。このような機能は、多くのネイティブアプリで見ることができます。

    これは独立したSvelteコンポーネントではなく、<List><ListItem>コンポーネントをFramework7のSmart Selectコンポーネントで使用した特殊なケースです。

    スマートセレクトのプロパティ

    PropTypeDefaultDescription
    <ListItem> properties
    smartSelectbooleanスマートセレクトの動作を有効にする
    smartSelectParamsobjectスマートセレクトのパラメータを持つオブジェクト。

    スマートセレクトのインスタンスへのアクセス

    スマートセレクトの初期化されたインスタンスにアクセスするには、<ListItem>コンポーネントの.smartSelectInstanceメソッドを呼び出します。

    <ListItem smartSelect bind:this={component} ... />
    
    <script>
      //
      let component;
    
      // あるメソッドでインスタンスを取得するには
      const smartSelectInstance = component.smartSelectInstance();
    </script>
    

    Examples

    <Page>
      <Navbar title="Smart Select"></Navbar>
      <List>
        <ListItem title="Fruit" smartSelect>
          <select name="fruits" value="apple">
            <option value="apple">Apple</option>
            <option value="pineapple">Pineapple</option>
            <option value="pear">Pear</option>
            <option value="orange">Orange</option>
            <option value="melon">Melon</option>
            <option value="peach">Peach</option>
            <option value="banana">Banana</option>
          </select>
        </ListItem>
        <ListItem title="Car" smartSelect smartSelectParams={{openIn: 'popup', searchbar: true, searchbarPlaceholder: 'Search car'}}>
          <select name="car" multiple value={['honda', 'audi', 'ford']}>
            <optgroup label="Japanese">
              <option value="honda">Honda</option>
              <option value="lexus">Lexus</option>
              <option value="mazda">Mazda</option>
              <option value="nissan">Nissan</option>
              <option value="toyota">Toyota</option>
            </optgroup>
            <optgroup label="German">
              <option value="audi">Audi</option>
              <option value="bmw">BMW</option>
              <option value="mercedes">Mercedes</option>
              <option value="vw">Volkswagen</option>
              <option value="volvo">Volvo</option>
            </optgroup>
            <optgroup label="American">
              <option value="cadillac">Cadillac</option>
              <option value="chrysler">Chrysler</option>
              <option value="dodge">Dodge</option>
              <option value="ford">Ford</option>
            </optgroup>
          </select>
        </ListItem>
        <ListItem title="Mac or Windows" smartSelect smartSelectParams={{openIn: 'sheet'}}>
          <select name="mac-windows" value="mac">
            <option value="mac">Mac</option>
            <option value="windows">Windows</option>
          </select>
        </ListItem>
        <ListItem title="Super Hero" smartSelect smartSelectParams={{openIn: 'popover'}}>
          <select name="superhero" multiple value={['Batman']}>
            <option value="Batman">Batman</option>
            <option value="Superman">Superman</option>
            <option value="Hulk">Hulk</option>
            <option value="Spiderman">Spiderman</option>
            <option value="Ironman">Ironman</option>
            <option value="Thor">Thor</option>
            <option value="Wonder Woman">Wonder Woman</option>
          </select>
        </ListItem>
      </List>
    </Page>
      
    
    <script>
      import {Page, Navbar, List, ListItem} from 'framework7-svelte';
    </script>