el-select远程搜索,查询条件为空,没有搜索到数据时,展示“无数据”

el-select远程搜索,查询条件为空,没有搜索到数据时,展示“无数据”

现状:1、查询条件没有值,远程接口没有数据时,不展示“无数据”;
2、查询条件有值,远程接口没有数据时,可以展示“无数据”;

源码:

emptyText() {
   if (this.loading) {
     return this.loadingText || this.t('el.select.loading');
   } else {
     if (this.remote && this.query === '' && this.options.length === 0) return false;
     if (this.filterable && this.query && this.options.length > 0 && this.filteredOptionsCount === 0) {
       return this.noMatchText || this.t('el.select.noMatch');
     }
     if (this.options.length === 0) {
       return this.noDataText || this.t('el.select.noData');
     }
   }
   return null;
 },

解析:
查询条件没有值,远程接口没有数据时,手动给组件赋值一个空格字符串,使其走到「查询条件有值,远程接口没有数据时」的判断,也就展示了“无数据”

if (this.searchValue == '' && !result.length) { //todo 如果查询条件为空,并且没有查到数据
  const selectRef: any = this.$refs.select;
  selectRef.query = ' '
}

在这里插入图片描述

form generator是一个表单生成器,可以帮助我们快速生成各种表单元素。而el-selectelement-ui框架中的一个下拉选择组件。要扩展el-select远程搜索功能,我们可以按照以下步骤进行。 首先,在form generator的代码中找到生成el-select组件的部分。一般来说,我们可以为el-select设置一个远程搜索的属性,比如remote-search。然后,在该属性的处理逻辑中,我们可以使用element-ui提供的el-autocomplete组件,实现远程搜索的功能。 其次,为了实现远程搜索,我们需要在el-select远程搜索事件中发送Ajax请求。可以使用Vue.js提供的axios库或者使用element-ui的el-request库来发送请求。在请求中,我们需要传递远程搜索的关键字,一般是通过输入框实获取用户输入的值。将这个关键字发送到后台,进行搜索操作。搜索的结果可以是JSON格式的数据,包含了符合条件的选项。 最后,当接收到后台返回的搜索结果后,我们可以根据结果来更新el-select的下拉选项列表。可以通过修改el-select的options属性来实现。将搜索结果的数据添加到options列表中,然后重新渲染el-select,用户就可以看到符合搜索条件的选项。 综上所述,要扩展form generator中的el-select远程搜索功能,我们需要为el-select添加一个remote-search属性,处理该属性对应的远程搜索逻辑,并在搜索结果返回后更新el-select的下拉选项列表。这样,用户在使用表单生成器可以方便地使用el-select远程搜索功能,提高了表单的灵活性和用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值