What is the problem of binding two select with one field in vue?

<div id="app">
  <select v-model="cur" @change="show">
    <option value></option>
    <option :value="item.id" v-for="item in arr">{{item.text}}</option>
  </select>
  <select v-model="cur" @change="show">
    <option value></option>
    <option :value="item.id" v-for="item in arr2">{{item.text}}</option>
  </select>
</div>

var vm = new Vue({
        el: "-sharpapp",
        data: {
            cur: "",
            arr:[
              {id: 1,text:"hhh"},
              {id: 2,text:"xxx"}
            ],
            arr2:[
              {id: 3,text:"a3"},
              {id: 4,text:"a4"}
            ]
        },
        methods: {
            show: function() {
                console.log(this.cur)
            }
        }
    })
There are two options in the

page with one field. After you have done it with vue, select one of them, and both become empty. The effect I want to achieve is to choose one of them, and the other becomes "Please choose". How can it be achieved?

Jul.13,2022

your v-model binds different values, binds the same value, and modifying one of them will inevitably affect the other.

  <div id="app">
    <select v-model="cur1" @change="show(1)">
      <option value></option>
      <option :value="item.id" v-for="item in arr">{{item.text}}</option>
    </select>
    <select v-model="cur2" @change="show(2)">
      <option value></option>
      <option :value="item.id" v-for="item in arr2">{{item.text}}</option>
    </select>
  </div>
  <script>
  var vm = new Vue({
          el: '-sharpapp',
          data: {
              cur1: '',
              cur2: '',
              arr:[
                {id: 1,text:'hhh'},
                {id: 2,text:'xxx'}
              ],
              arr2:[
                {id: 3,text:'a3'},
                {id: 4,text:'a4'}
              ]
          },
          methods: {
              show: function(index) {
                let ind = index === 1 ? 2 : 1
                this['cur' + ind] = ''
                console.log(this.cur1)
                console.log(this.cur2)
              },
              submit: function () {
                let cur = this.cur1 !== '' ? this.cur1 : this.cur2
                if (cur !== '') {
                  // 
                }
              }
          }
      })
    </script>

Why use the same field?
has been written for a while, for reference only https://jsfiddle.net/EverJust...

.
Menu