Vue中的动态输入修饰符

时间:2019-11-07 05:00:09

标签: javascript vue.js

所以我有这样的输入:

<input type="number" :value="key" @input.number="setValue" />

我希望.number输入修饰符是动态的,并链接到变量,以便我可以基于input type(在我的情况下可以是{{1} }或number)。

2 个答案:

答案 0 :(得分:2)

如果您想使用类似的输入修饰符,则可以始终创建一个自定义组件,该组件接收typevalue作为道具,并在@input-

上发出值
<template>
  <div>
    <template v-if="type=='number'">
      <input :type="type" :value="key" @input.number="setValue" />
    </template>
    <template v-else>
      <input :type="type" :value="key" @input="setValue">
    </template>
  </div>
</template>

答案 1 :(得分:1)

只有一个处理程序可以在函数中为您执行此逻辑。

Loading state
@input="setValue($event.target.value)"

您可以使用所需的任何类型的支票,而不必使用methods: { setValue (input) { if (typeof input === 'number') { //do something } if (typeof input === 'string') { //do something } } }