Skip to content
官方QQ交流群
pc端ui:468705115   点此加入
移动端ui:468217742   点此加入
技术交流1:87208295   点此加入
技术交流2:787747122   点此加入
官网
云控制台
开放平台
关注微信公众号
代码仓库: 码云

cv-autocomplete-load 带搜索功能输入框

简要

type属性为text的input
带有搜索功能的输入框,一般和表单配合使用,默认为实心白色背景。

示例

::: demo

vue
<template>
  <div style="width: 520px">
    <div style="display: flex; flex-direction: column; gap: 10px; margin-bottom: 10px">
      <h1>autocomplete 远程搜索</h1>
      <h3>默认有数据的</h3>
      <cv-autocomplete-base v-model="formData.search" :dataLists="settSearchData" />
      <h3>远程加载数据的</h3>
      <cv-autocomplete-load v-model="formData.testData" :compConfig="compConfig">
        <template #default="{ item }">
          <div style="display: flex">
            <div class="value">名称:{{ item.name }}</div>
            <div class="value">地址:{{ item.address }}</div>
            <div class="value">IP产品名称:{{ item.product_name }}</div>
            <div class="value">产品价格(天):{{ item.product_price_sale }}</div>
          </div>
        </template>
      </cv-autocomplete-load>
    </div>
    <cv-btn-base @click="hanldeSubmit">按钮</cv-btn-base>
  </div>
</template>

<script>
const testData = [
  { name: '三全鲜食(北新泾店)', address: '长宁区新渔路144号' },
  { name: 'Hot honey 首尔炸鸡(仙霞路)', address: '上海市长宁区淞虹路661号' },
  { name: '新旺角茶餐厅', address: '你好三个' },
  { name: '泷千家(天山西路店)', address: '天山西路438号' },
  { name: '胖仙女纸杯蛋糕(上海凌空店)', address: '上海市长宁区金钟路968号1幢18号楼一层商铺18-101' },
  { name: '贡茶', address: '上海市长宁区金钟路633号' },
  { name: '豪大大香鸡排超级奶爸', address: '上海市嘉定区曹安公路曹安路1685号' },
  { name: '茶芝兰(奶茶,手抓饼)', address: '上海市普陀区同普路1435号' },
  { name: '十二泷町', address: '上海市北翟路1444弄81号B幢-107' },
  { name: '十二泷町', address: '上海市北翟路1444弄81号B幢-107' },
  { name: '十二泷町', address: '上海市北翟路1444弄81号B幢-107' },
  { name: '十二泷町', address: '上海市北翟路1444弄81号B幢-107' },
  { name: '十二泷町', address: '上海市北翟路1444弄81号B幢-107' },
  { name: '十二泷町', address: '上海市北翟路1444弄81号B幢-107' },
  { name: '十二泷町', address: '上海市北翟路1444弄81号B幢-107' },
  { name: '十二泷町', address: '上海市北翟路1444弄81号B幢-107' },
  { name: '十二泷町', address: '上海市北翟路1444弄81号B幢-107' },
  { name: '十二泷町', address: '上海市北翟路1444弄81号B幢-107' },
  { name: '十二泷町', address: '上海市北翟路1444弄81号B幢-107' },
  { name: '十二泷町', address: '上海市北翟路1444弄81号B幢-107' },
  { name: '十二泷町', address: '上海市北翟路1444弄81号B幢-107' },
  { name: '十二泷町', address: '上海市北翟路1444弄81号B幢-107' },
  { name: '十二泷町', address: '上海市北翟路1444弄81号B幢-107' },
  { name: '十二泷町', address: '上海市北翟路1444弄81号B幢-107' },
  { name: '十二泷町', address: '上海市北翟路1444弄81号B幢-107' },
  { name: '十二泷町', address: '上海市北翟路1444弄81号B幢-107' },
  { name: '星移浓缩咖啡', address: '上海市嘉定区新郁路817号' }
];
function mock_function(param) {
  console.log('请求参数', param);
  let lastData = [];
  if (param.keyword) {
    let lastData = testData.find((item) => {
      return item.name.includes(param.keyword) || item.address.includes(param.keyword);
    });
  } else {
    lastData = testData;
  }
  let mockData = {
    msg: '请求mock数据成功',
    status: 200,
    pagesize: 10,
    page: 1,
    pagemax: 5,
    total: 5,
    data: lastData,
    ...param
  };
  return new Promise((resolve, reject) => {
    try {
      // resolve({
      //   data: d
      //   total: this.data1.length,
      // })
      return resolve(mockData);
    } catch {
      reject();
    }
  });
}
export default {
  data() {
    return {
      compConfig: {
        apiFunc: mock_function,
        where: {},
        // 搜索2个字段
        searchField: ['name', 'address']
      },
      settSearchData: testData,
      formData: {
        testData: null
      }
    };
  },
  methods: {
    hanldeSubmit() {
      console.log('baseForm的数据', this.formData);
    }
  }
};
</script>

:::

属性

属性名类型默认值说明可选值
placeholderString-输入框占位文本-
disabledBoolenfalse是否禁止-
v-modelString-数据双向绑定-
sizeString-尺寸medium / small / mini
clearablebooleantrue清空按钮-
compConfigObject-组件配置-
  • 属性 compConfig详情
属性名类型默认值说明可选值
apiFuncFunction-请求接口-
searchFieldArrat['value']查找字段-

属性

name说明
-预留了匿名插槽可以自定义按钮

事件

事件名参数说明

Copyright © 2017 10yun.com | 十云提供计算服务-IPV6 | ctocode组开发