vue 3 组合 api 组件,带有复选框数组并切换所有
P粉670838735
P粉670838735 2023-08-30 20:55:11
0
1
532

我们决定逐渐从淘汰赛转向使用 typescript 的 vue 3 组合 api,并且我正在尝试了解变异道具的反模式。我有一个正在执行其预期工作的工作组件,但基本上我想确认它的编写方式是建议的方法。

一个相当简单的例子是一个复选框列表组件,上面有一个切换开关:

我最大的问题是我在 AppList.vue 中所做的是否正确,我正在做 const internalModel = toRef(props.selected ?? []); 以获得不可变的组件中的变量和 selectedHandler - 事件和 toggleAll - 计算为发出 OUT,但在这里我手动保留 selected 和 <代码>内部模型同步。对于同一件事使用两个变量感觉很麻烦,但同时它确实有意义,因为内部模型不需要干扰视图。

我知道 vuejs.org 上有一个示例,其中可以在 v-model 上使用数组来表示多个复选框,但它不在组件内部或作为道具,因此它不完全是同样,这感觉更复杂。我花了一天中的大部分时间试图让它正确,但没有那么多 vue 3 搜索结果,对于这个特定问题我根本没有找到任何结果。

HomeView.vue: