解决element建议搜索框fetch-suggestions无法显示内容解决方法

情景:引用elementUI组件里面的建议搜索框时,下拉框显示内容空白。

原因:可能是value值设置的问题,代码如下

html代码:

<el-form-item label="一级客户经理" prop="userNumber1Name">
        <el-autocomplete
          v-model="formlist.userNumber1Name"
          :fetch-suggestions="querySearchAsync"
          placeholder="请输入"
          @select="handleSelect1"
        ></el-autocomplete>
</el-form-item>

js代码:

<script>
export default {
  name: "amendinf",
  },
  data() {
    return {
      // 表单验证
      rules: {
        userNumber1Name: [
          { required: true, message: "一级客户经理不能为空", trigger: "blur" },
        ],
      },
      restaurants: [],
    };
  },
  created() {
    this.lod();
    this.restaurants = this.loadAll();
  },
  methods: {
    // 获取模糊查询的数据
    loadAll() {
      this.$api
        .getusernameList()
        .then((res) => {
          console.log("res", res);
          if(res){
          if (res.data.status == 200 && res.data.data.length > 0) {
            this.restaurants = res.data.data;
            return this.restaurants;
          }
          }

        })
        .catch();
    },
    // 根据输入模糊查询处理
    querySearchAsync(queryString, cb) {
      var restaurants = this.restaurants;

      // 解决element建议搜索框无法显示内容 的数据处理
      for (var i = 0; i < restaurants.length; i++) {
        restaurants[i].value = restaurants[i].userName;
      }
      var results = queryString
        ? restaurants.filter(this.createStateFilter(queryString))
        : restaurants;
      // 调用 callback 返回建议列表的数据
      clearTimeout(this.timeout);
      this.timeout = setTimeout(() => {
        cb(results);
      }, 3000 * Math.random());
    },
    createStateFilter(queryString) {
      return (state) => {
        return (
          state.userName.toLowerCase().indexOf(queryString.toLowerCase()) === 0
        );
      };
    },
    // 选择一级客户经理
    handleSelect1(item) {
      // console.log(item);
      this.formlist.userNumber1 = item.userNumber;
    },

  },
};
</script>

经过querySearchAsync函数里面的 数据处理最终效果实现

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值