#javascript #vuejs2
Вопрос:
Я хочу, чтобы v-модель=»num» как раз тогда, когда v-if prop === «сумма». Как я могу это сделать? потому что входные данные являются общими для «кол-во» и «book_value»
<template #item="{ prop, value, rowIndex }">
<div
v-if="prop === 'qty' || prop === 'book_value'"
>
<input
v-model="num"
:value="preview amp;amp; prop === 'book_value'? formatAmount(value) : value"
:preview="preview"
@input="setRuleItem({ newValue: $event, prop, rowIndex, name: 'actions' })"
/>
---------------------------
watch: {
num (newVal, oldVal) {
if (newVal.includes('.')) {
this.$nextTick(() => { this.num = newVal.split('.')[0] '.' newVal.split('.')[1].slice(0, 2) })
}
}
},
Комментарии:
1. Совсем не ясно.
Ответ №1:
Вы можете сделать это многими способами, но вот несколько простых примеров
Используйте обработчик ввода вместо v-модели
<input @input="(val) => prop === 'amount' ? num = val : false" :value ... />
создайте еще один элемент
<input v-if="prop === amount" v-model="num"...><input v-else :value... ></input>
Комментарии:
1. Из которых второй с меньшей вероятностью сломается, хотя он удваивает код.