使用antd下拉框远程搜索(模糊查询)

html

<Form.Item label="客户姓名" name="customerId" rules={[{ required: true, message: '请选择客户姓名' }]}>
     <Select placeholder="请选择客户姓名" getPopupContainer={trigger => trigger.parentNode} onChange={onCustomerChange}
       showSearch
       onSearch={onSearch}
       optionFilterProp="children"
       filterOption={(input, option: any) =>
         option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0
       }
     >
       {
         customerList.length > 0 ? customerList.map(item => {
           return (
             <Option value={item.customerId} key={item.customerId}>{item.namePhone}</Option>
           )
         }) : null
       }
     </Select>
</Form.Item>

js

    //客户列表
  const customersList = (val) => {
    service.customersList(val).then((res: any) => {
      if (res.success) {
        setcustomerList(res.data)
      } else {
        message.error(res.errorMsg)
      }
    })
  }
  
  //客户模糊搜索
  const onSearch = (val) => {
    customersList({ customerName: val })
  }

做数据回显时,先用后端返回的name查询列表

//详情
  const etail = () => {
    service.detail({ id: props.id }).then((res: any) => {
      if (res.success) {
      //根据后端返回紫貂查询客户信息列表
        const phone = getStr(res.data.customer!.customerPhone)
        customersList({ customerName: phone })
       
        //修改页面字段回显
        form.setFieldsValue({
          //客户信息
          ...res.data.customer
        })

        setspinning(false)
      } 
    }).catch(e => { console.log(e) })
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值