处理 BootstrapVue 中的状态和无效反馈属性以拒绝输入字段中的已删除值

Handling state and invalid-feedback attributes in BootstrapVue to reject deleted value in input field

有了下一个 BootstrapVue 示例代码,我想知道如何修复它以实现 ' 必填字段!' 消息在下一段显示:

  1. 用户输入值或选择建议的 'autocomplete' 个水果。
  2. 用户删除输入字段中的任何内容。
  3. 用户单击“测试”按钮。

模板:

<div>
  
  <b-form-group label="Fruit*" label-for="myInput" :invalid-feedback="invalidFruit" :state="stateFruit">  

    <b-form-input id="myInput" v-model="fruit" list="myList" :state="stateFruit"/>
        <datalist id="myList">
            <option v-for="fruit in fruits">{{ fruit }}</option>
        </datalist>
  
  </b-form-group>
  
  <b-button v-on:click="btnClicked=true">Test</b-button>
  
</div>

JavaScript:

{
  data() {
    return {
      fruit: null,
      fruits: ['Apple', 'Banana', 'Strawberry', 'Lemmon'],
      btnClicked: false
    }
  },
  computed: {    
        stateFruit() {
            var res = null;
            if (this.btnClicked) {
                res = (this.fruit != null || this.fruit == '');
            }
            return res;
        },
        invalidFruit() {
            var res = 'Mandatory field!';
            return res;
        },
  },
  methods: {
  }
}

https://codesandbox.io/s/u6j8m

谢谢!

找到的解决方案:

更改此行:

res = (this.fruit != null || this.fruit == '');

对此:

res = (this.fruit != null && this.fruit.length > 0);