为了账号安全,请及时绑定邮箱和手机立即绑定

如何与Vue交换输入字段?

如何与Vue交换输入字段?

智慧大石 2023-11-12 22:10:30
click当事件触发时,我很难交换字段。下面是我的代码,它只是更改了一次值和名称,但如果再次单击它就不起作用。它也不会改变该v-model值。有人可以帮我吗?超文本标记语言<div id='app'>        <button @click="swapInputFields">Swap</button>  <input type="text" :name="[field1]" v-model="model1" :value="[fromCity]"><br>  <input type="text" :name="[field2]" v-model="model2" :value="[toCity]"></div>代码查看:var app = new Vue({   el: '#app',   data: {      fromCity:'FROM',      toCity :'TO',      field1 :'name1',      field2 :'name2'   },   methods: {      swapInputFields()      {         this.fromCity = 'TO';         this.toCity ='FROM';         this.field1 = 'name2';         this.field2 ='name1';      }   }});
查看完整描述

1 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

从绑定中删除括号,并从输入中删除除和[ ]之外的所有属性:typev-model


<button @click="swapInputFields">Swap</button>

<input type="text" v-model="fromCity"><br>

<input type="text" v-model="toCity">

您只需要这些模型变量fromCity和toCity数据:


data() {

   return {

      fromCity:'FROM',

      toCity :'TO'

   }

},

并像这样交换它们:


swapInputFields()

{

   const temp = this.fromCity;

   this.fromCity = this.toCity;

   this.toCity = temp;

}

这是一个演示:

new Vue({

  el: "#app",

  data(){

     return {

        fromCity:'FROM',

        toCity :'TO'

     }

  },

  methods: {

    swapInputFields()

    {

      const temp = this.fromCity;

      this.fromCity = this.toCity;

      this.toCity = temp;

    }

  }

});

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>

<div id="app">

  <button @click="swapInputFields">Swap</button>

  <input type="text" v-model="fromCity"><br>

  <input type="text" v-model="toCity">

</div>


查看完整回答
反对 回复 2023-11-12
  • 1 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信