element-plus遇到的问题

el-autocomplete外部更改输入建议

this.inputValue = '';
this.$refs.autocomplete.suggestions = this.suggestions;

<template>
  <div>
    <el-autocomplete
      ref="autocomplete"
      v-model="inputValue"
      :fetch-suggestions="querySearch"
      placeholder="请输入内容"
      @select="handleSelect"
    ></el-autocomplete>
    <button @click="addSuggestion">添加输入建议</button>
  </div>
</template>
 
<script>
export default {
  data() {
    return {
      inputValue: '',
      suggestions: [],
    };
  },
  methods: {
    querySearch(queryString, cb) {
      var suggestions = this.suggestions;
      var results = queryString ? suggestions.filter(this.createFilter(queryString)) : suggestions;
      // 调用 callback 来返回建议列表的数据
      cb(results);
    },
    createFilter(queryString) {
      return suggestion => {
        return (suggestion.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
      };
    },
    handleSelect(item) {
      console.log('选中的输入建议:', item);
    },
    addSuggestion() {
      const suggestion = { value: '新输入建议' };
      this.suggestions.push(suggestion);
      
      // 如果需要,可以清空输入并更新建议列表
      this.inputValue = '';
      this.$refs.autocomplete.suggestions = this.suggestions;
    }
  }
};
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值