问题标签 [v-model]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
52 浏览

javascript - v-model 将动态添加的输入字段设置为 undefined

要求用户添加列,给出与新列相关的名称和其他信息。我当前的问题是我可以看到添加到数组中的新列,但它们是未定义的。不确定我是否遗漏了什么或者我绑定的方式不正确..

看法:

VUE 代码:

使用我目前拥有的 - 每次我添加一个新列时,我都会看到它添加到数组中,但添加的项目是未定义的,所以我的列数组的大小为 2 和 [0:undefined, 1:undefined]

0 投票
1 回答
86 浏览

vue.js - 如何将计算用于对象属性?

我想从要计算的对象中获取属性,但据我所知,这不受支持。

我试过使用类似的东西,objects.atributes:{ /*codes */ }但有错误。

我想实现这样的目标:

我希望全名会出现,但它没有。

0 投票
1 回答
19 浏览

vue.js - 无需额外数组即可动态绑定 v-model

我正在尝试使用 v-for 和模板创建多个 vuetify-textfields,因此我可以轻松地添加和编辑文本字段,同时保持我的代码干净。

模板标签:

我当前的数据如下所示:

我知道这个问题被问过多次,但每个答案都是:动态绑定 v-model 通过创建一个额外的数组来工作,你可以在其中保护你的数据(在我的示例中为姓名和姓氏)。

但这感觉像是一个笨拙的解决方法。那么有什么办法可以直接将 v-model 绑定到 this.name/this.lastname 上呢?

0 投票
0 回答
1606 浏览

javascript - VueJS v-model for object prop 通过嵌套组件不会按预期更新它们

我正在开发一个申请表。它的组件树:

Application 组件具有用于调用 Form 组件的配置道具,formSettings以便它传递它们:

接下来,我需要将 FormData 与 Fieldsets 同步。

重要的是,在我的情况下,所有要同步的值都具有对象类型!

为了实现它,首先,我决定form在 created 钩子中将 fieldset 配置属性深度克隆到 Form 的内部属性,称为 ,并为每个属性添加一个特殊属性,称为value,它存储字段集字段的所有值:

因此,表单的模板使用此克隆呈现:

接下来,我需要将 Fieldsets 值与它们的 Fields 同步。我尝试了一种类似 Form 组件的方法——创建一个内部可变属性,存储组件配置道具的克隆及其值。使用它不会按预期更新嵌套组件,并且当我尝试更改 中的某些字段值时form.fieldsets,它不会更改子组件中的任何内容,因此我拒绝了这种方法。我使用的另一种方法是在 Fieldset 组件中定义一个计算属性:

然后 - 使用 v-model :

但它也不会更新 Fields 组件。

我该怎么做才能使对象的嵌套 v-model 正常工作?

0 投票
1 回答
140 浏览

javascript - 将 v-model 与对象一起使用是否不好,尤其是通过 VueJS 中的几个嵌套组件?

我在使用 v-model 时遇到了一个大问题,其中一个对象通过了 2 层嵌套组件。我在这里描述了这个问题VueJS v-model for object prop through nested components does not make update them as expected。但现在我想知道,也许这种方法很糟糕,有一些原因吗?

0 投票
3 回答
1484 浏览

javascript - 如何在 `$emit('input')` 完成更新之前修改 VueJS 中的 'value' 属性

我有一个关于创建可使用的 VueJS 组件的问题,这些组件v-model利用底层的valueprop 和$emit('input', newVal).

在上面的代码示例中,如果我快速连续进行两次修改,它们都将在“旧数组”(未修改的value道具)上执行。

换句话说,我需要等待value通过 更新$emit('input'),以便第二次调用moveIdToIndex使用已修改的数组。

错误的解决方案 1

一种解决方法是更改updateArray​​为:

并像这样执行:

但我不想这样做,因为我需要对一组 Id 执行此操作,并同时将它们全部移动到不同的位置。而awaiting 会大大降低性能。

错误的解决方案 2

我发现一个更好的解决方案就是这样做:

然后我根本不需要等待$emit完成。

然而,在这种情况下,VueJS 给出了一个控制台错误:

避免直接改变 prop,因为只要父组件重新渲染,该值就会被覆盖。相反,使用基于道具值的数据或计算属性。道具被变异:“价值”

有没有人有更好的解决方案?

0 投票
1 回答
349 浏览

vue.js - v-model inside a renderless component

CodeSandbox: https://codesandbox.io/s/61my3w7xrw?fontsize=14

I have this renderless component that uses a scoped slot:

Using it like so:

... so the value is not updated on change. What am I doing wrong?

0 投票
1 回答
1675 浏览

javascript - 未选中时,具有对象作为绑定到数组属性的值的 VueJS 复选框不会脱离数组

在我的一个 VueJS 组件中,我有一个名为 的数组selectedJobs,用于在 html 表中选中 html 复选框。replenJobsListhtml 表中的数据来自一个名为;的对象数组。

如果我console.log(selectedJobs.length);选中所有复选框,它会给我正确的长度。但是当我取消选中一个复选框并再次检查数组的长度时,复选框长度不会减 1。

此外,如果我再次选中同一个复选框,它将向selectedJobs数组中添加一个对象,而不是再次递减和递增。

如何让复选框正确添加和脱离selectedJobs阵列?

0 投票
1 回答
2251 浏览

javascript - 如何在 Vue 中为 v-model 使用多维数组?

我想根据用户检查的属性值为在线商店生成属性变体。

问题是我不知道如何从 v-model 访问属性值以及 v-model 必须是什么类型的数据?

我被困在这里。下面是我的代码。

谢谢!

0 投票
1 回答
453 浏览

vue.js - 在用户点击 vuejs 时更新发送到子组件的值

我在 mu app.vue 中有两个组件,我会在页面加载时将数据从 app.vue 发送到我的第一个组件(过滤器组件)。

现在基于第二个组件中显示数据中的用户操作,我需要将新值传递回第一个组件。

我正在使用 a 和 a 。考虑我在第一个组件中收到的一个道具是“nselectedOption”,我在数据中执行此操作:{ return { selectedOption: this.nselectedOption }} 以避免突变警告。

现在,每次我从第二个组件更新此组件的值时,我只看到“nselectedOption”而不是“selectedOption”中的变化。你能解释这是为什么吗?

我需要将更新后的值转换为 . 1. 如果我使用“nselectedOption”,它会更新文本框,但在编辑值时会引发错误。2. 如果我使用“selectedOption”,它不会更新文本框本身的值。

我什至尝试使用计算值来返回值,它可以工作,但是如果我尝试更改过滤器组件中其他选项中的值,则已更新的值显示 null 或什么都没有。

请帮我。这个问题是否可以使用状态管理概念来解决,或者我是否必须拥有除 App.Vue 之外的单独组件来完成所有这些工作,以便它充当父/子之类的事情,或者是否有其他方法可以克服这个问题。