mirror of https://github.com/sveltejs/svelte
Fixing #2668, add test case "each-block-keyed-containing-self-in-if"
parent
da8c245516
commit
25c57a2de0
@ -0,0 +1,5 @@
|
||||
<script>
|
||||
export let item;
|
||||
</script>
|
||||
|
||||
<span>{item.id}</span>
|
@ -0,0 +1,48 @@
|
||||
export default {
|
||||
props: {
|
||||
list: [
|
||||
{ id: 1 },
|
||||
{ id: 2 },
|
||||
{ id: 3, children: [{ id: 30 }, { id: 31 }, { id: 32 }] },
|
||||
],
|
||||
activeId: null,
|
||||
},
|
||||
|
||||
html: `
|
||||
<ul>
|
||||
<li><span>1</span></li>
|
||||
<li><span>2</span></li>
|
||||
<li><span>3</span></li>
|
||||
</ul>
|
||||
`,
|
||||
|
||||
test({ assert, component, target }) {
|
||||
component.activeId = 3;
|
||||
|
||||
assert.htmlEqual(target.innerHTML, `
|
||||
<ul>
|
||||
<li><span>1</span></li>
|
||||
<li><span>2</span></li>
|
||||
<li>
|
||||
<span>3</span>
|
||||
<ul>
|
||||
<li><span>30</span></li>
|
||||
<li><span>31</span></li>
|
||||
<li><span>32</span></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
`);
|
||||
|
||||
|
||||
component.activeId = null;
|
||||
|
||||
assert.htmlEqual(target.innerHTML, `
|
||||
<ul>
|
||||
<li><span>1</span></li>
|
||||
<li><span>2</span></li>
|
||||
<li><span>3</span></li>
|
||||
</ul>
|
||||
`);
|
||||
}
|
||||
};
|
@ -0,0 +1,17 @@
|
||||
<script>
|
||||
import Nested from './Nested.svelte';
|
||||
|
||||
export let list;
|
||||
export let activeId;
|
||||
</script>
|
||||
|
||||
<ul>
|
||||
{#each list as item (item.id)}
|
||||
<li>
|
||||
<Nested {item} />
|
||||
{#if item.id === activeId && item.children}
|
||||
<svelte:self list={item.children} />
|
||||
{/if}
|
||||
</li>
|
||||
{/each}
|
||||
</ul>
|
Loading…
Reference in new issue