javascript - 如何将组件的值传递给其父组件?

标签 javascript components parent svelte svelte-3

我想将 Svelte 组件 (Form.svelte) 中的 select 元素的值绑定(bind)到其父组件 (App.svelte) 中的变量 active。我尝试在应用程序中的表单组件上使用 bind:value={active} ,但这不起作用,因为我需要访问选择的值。我应该如何访问 select 元素的值?提前致谢。

最小工作示例:https://svelte.dev/repl/bc872132e21f4071abe5a255728fb0ec?version=3.43.0

最佳答案

如果要绑定(bind)到value 属性,则需要公开该属性。在这里,我们还将 value 属性绑定(bind)到 select 元素,以便它随着 select 的更改而更新。

/* Select.svelte */

<script>
    export let value
</script>

<select bind:value>
    <option value="1">one</option>
    <option value="2">two</option>
    <option value="3">three</option>
</select>

然后您可以在父级中绑定(bind)它

/* App.svelte */

<script>
    import Select from './Select.svelte'
    
    let active;
</script>

<Select bind:value={active}/>

<p>{active}</p>

REPL

关于javascript - 如何将组件的值传递给其父组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69327358/

相关文章:

html - 如何使子 div 始终适合父 div?

javascript - Div 溢出滚动到底部 : Is it possible?

javascript - 多个翻转框 - 但只翻转点击的那个

delphi - Delphi>是否可以在我的单元(不是dfm)中存储位图的数据?

javascript - 我在 @Component 中遇到主机问题

c++ - 从指向成员的指针中恢复父级

javascript - 使用 jQuery 迭代 JSON 对象

javascript - 尝试使用 Javascript/CSS 更改属性,但无法使其在 if/else 语句中工作?

adobe - cq :emptyText is not working in Adobe CQ5. 5

jquery - Parent.location.assign(url) 无法在 fancybox iframe 中工作