智慧選取 Svelte 元件
智慧選取讓您可以輕鬆將一般的表單選取轉換為具有分組單選按鈕的動態頁面。您可以在許多原生應用程式中看到此功能。
它不是一個獨立的 Svelte 元件,而只是使用 <List> 和 <ListItem> 元件與 Framework7 的 智慧選取 元件的一個特定案例。
智慧選取屬性
屬性 | 類型 | 預設值 | 說明 |
---|---|---|---|
<ListItem> 屬性 | |||
smartSelect | 布林值 | 啟用智慧選取行為 | |
smartSelectParams | 物件 | 包含 智慧選取參數 的物件 |
存取智慧選取實例
您可以透過呼叫 <ListItem>
元件的 .smartSelectInstance
方法來存取已初始化的智慧選取實例。
<ListItem smartSelect bind:this={component} ... />
<script>
//
let component;
// to get instance in some method
const smartSelectInstance = component.smartSelectInstance();
</script>
範例
smart-select.svelte
<script>
import { Navbar, Page, List, Block, ListItem } from 'framework7-svelte';
</script>
<Page>
<Navbar title="Smart Select" />
<Block>
Framework7 allows you to easily convert your usual form selects to dynamic pages with radios:
</Block>
<List strongIos outlineIos dividersIos>
<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>