V-модель недоступна при использовании :Значение в моем приложении (Vue3)

#vue.js #vuejs3 #primevue

Вопрос:

Я создаю тестовое приложение и пытаюсь установить значение поля по умолчанию путем вычисления других полей, так что это мой код:

 <input type="text" class="sc table-input" v-model="staff['all_total']" :value="(staff.salary   Number(staff['overtime'])   Number(staff['educational'])   Number(staff['finance'])   Number(staff['macul']))" />
 

Таким образом, я хочу объединить значения четырех полей (сверхурочная работа образование финансы macul) и добавить их в другое поле под названием «all_total», тогда «all_total» также будет использоваться для некоторых других вычислений, но все это работает, единственная проблема в том, что у меня больше нет доступа к «all_total», если я удалю свойство»: значение», я не смогу получить доступ к v-модели «all_total», если я добавлю»: значение», то я не смогу получить доступ. Кто-нибудь знает, что в этом плохого?

Ответ №1:

v-model это просто синтаксический сахар, который означает, что когда вы пишете:

 <input v-model="staff['all_total']" />
 

вы получаете:

 <input :value="staff['all_total']" @input="staff['all_total'] = $event.target.value"/>
 

Поэтому, когда вы используете оба v-model и :value в своем коде, :value они будут использоваться, и вы не получите к ним доступа staff['all_total'] .

Если ваша цель staff['all_total'] -подготовить население , то, вероятно, лучше сделать это в коде mounted . Если ваша цель состоит в том, чтобы просто показать некоторое составное значение, основанное на этих 4 полях, используйте computed вместо этого.

Комментарии:

1. вы правы, но я делаю это для списка пользователей, и при каждом использовании должно быть рассчитано общее количество этих четырех полей.

2. ссылка на изображение= ibb.co/Xzg17tG

3. в этой таблице каждый столбец является полем ввода