mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-18 19:46:36 +00:00
docs(tabs): add better examples
This commit is contained in:
parent
45dfbb26cf
commit
72b5851efc
4 changed files with 120 additions and 56 deletions
61
docs/src/pages/framed/Tabs/TabsReactiveEach.svelte
Normal file
61
docs/src/pages/framed/Tabs/TabsReactiveEach.svelte
Normal file
|
@ -0,0 +1,61 @@
|
|||
<script>
|
||||
import { Button, Tabs, Tab, TabContent } from "carbon-components-svelte";
|
||||
import { afterUpdate } from "svelte";
|
||||
|
||||
let selected = 0;
|
||||
let update = false;
|
||||
|
||||
$: items = update ? [1, 2, 3, 4, 5, 6] : [1, 2, 3];
|
||||
|
||||
afterUpdate(() => {
|
||||
// reset the selected index of tab no longer exists
|
||||
if (items[selected] === undefined) {
|
||||
selected = 0;
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<style>
|
||||
div {
|
||||
margin: var(--cds-layout-02) 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
{#key items}
|
||||
<Tabs bind:selected>
|
||||
{#each items as item}
|
||||
<Tab label="Tab label {item}" />
|
||||
{/each}
|
||||
<div slot="content">
|
||||
{#each items as item}
|
||||
<TabContent>Content {item}</TabContent>
|
||||
{/each}
|
||||
</div>
|
||||
</Tabs>
|
||||
{/key}
|
||||
|
||||
<div>
|
||||
<Button
|
||||
size="small"
|
||||
kind="tertiary"
|
||||
on:click="{() => {
|
||||
update = !update;
|
||||
}}"
|
||||
>
|
||||
Update items
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<Button
|
||||
size="small"
|
||||
disabled="{selected === 1}"
|
||||
on:click="{() => {
|
||||
selected = 1;
|
||||
}}"
|
||||
>
|
||||
Set selected index to 1
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
<div>Selected index: {selected}</div>
|
Loading…
Add table
Add a link
Reference in a new issue