ant-vue select实现下拉框+搜索

时间:2024-11-24 07:04:07
  • // 获取企业信息
  • getEntperise(){
  • .get('/entEnterprisearchives/entName')
  • .then(res => {
  • // (res);
  • for(let i in res){
  • // 总数据
  • ({
  • id:i,
  • entName:res[i]
  • })
  • }
  • //
  • = (0, 100)
  • // ("++",);
  • }, () => {
  • });
  • },
  • handleSearch (val) {
  • ("搜素",val);
  • = val
  • if (!val) {
  • = (0, 100)
  • } else {
  • = []
  • = 1
  • (item => {
  • if ((val) >= 0) {
  • (item)
  • }
  • })
  • // =
  • = (0, 100)
  • }
  • },
  • filterOption(input, option) {
  • return (
  • [0].().indexOf(input.toLowerCase()) >= 0
  • );
  • },
  • //下拉框下滑事件
  • handlePopupScroll (e) {
  • const { target } = e
  • const scrollHeight = -
  • const clientHeight =
  • // 下拉框不下拉的时候
  • if (scrollHeight === 0 && clientHeight === 0) {
  • = 1
  • ()
  • } else {
  • // 当下拉框滚动条到达底部的时候
  • if (scrollHeight < clientHeight + 5) {
  • = + 1
  • const scrollPage = // 获取当前页
  • const treePageSize = * (scrollPage || 1)// 新增数据量
  • const newData = [] // 存储新增数据
  • let max = '' // max 为能展示的数据的最大条数
  • if (.length > treePageSize) {
  • // 如果总数据的条数大于需要展示的数据
  • max = treePageSize
  • } else {
  • // 否则
  • max = .length
  • }
  • // 判断是否有搜索
  • if () {
  • ((item, index) => {
  • if (index < max) { //data数组的下标小于max时
  • (item)
  • }
  • })
  • } else {
  • ((item, index) => {
  • if (index < max) { //data数组的下标小于max时
  • (item)
  • }
  • })
  • }
  • = newData // 将新增的数据赋值到要显示的数组中
  • }
  • }
  • },