#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. в этой таблице каждый столбец является полем ввода