import React, { useState, useRef, useEffect, useCallback } from "react"; import { Input, Popup, Button, Toast, PickerView, SearchBar } from "antd-mobile"; import { DownOutline } from "antd-mobile-icons"; import commonConfig from "@/utils/config"; import * as commonServices from "@/services/services"; import * as commonFunc from "@/components/Common/commonFunc"; import styles from "./selectInput.less"; import debounce from "lodash/debounce"; const SelectInput = (props) => { console.log(props, "SelectInput props"); const [value, setValue] = useState(""); const [values, setValues] = useState(""); const [searchValue, setSearchValue] = useState(""); const [visible, setVisible] = useState(false); useEffect(() => { // 监听滚动事件 // const data = getSqlDropDownData() // console.log(data, "data"); }, [visible]); const [columns, setColumns] = useState([ { label: "选项1", value: "option1" }, { label: "选项2", value: "option2" }, { label: "选项3", value: "option3" }, ]); const [coplyColumns, setCopyColumns] = useState(columns); // const [hasMore, setHasMore] = useState(true); const [loading, setLoading] = useState(false); const handleConfirm = () => { console.log(values, "values"); setValue(values); setVisible(false); }; const handleCancel = () => { Toast.show("取消按钮被点击"); setVisible(false); }; const changeInputValue = val => { console.log(val, "val"); }; const searchData = val => { // todo调用接口 setSearchValue(val); const list = columns.filter(item => item.label.includes(val)); setColumns(list); if (val === "") { console.log(36666); setColumns(coplyColumns); } }; // 处理选择器变化 const changeOption = val => { setValues(val[0]); }; const getSqlDropDownData = async ({ sId, sModelsId, sName }) => { const url = `${commonConfig.server_host}business/getSelectLimit/${sId}?sModelsId=${sModelsId}&sName=${sName}`; const body = { sSqlCondition: "", sKeyUpFilterName: "", pageNum: 1, pageSize: 20, }; const retrunData = await commonServices.postValueService(props.app.token, body, url); const sColumnNameConfigStr = retrunData.data?.dataset?.rows?.[0]?.sColumnNameConfig; return commonUtils.convertStrToObj(sColumnNameConfigStr, []); }; return (