vue3 vben下拉框数据接口获取

 顶部搜索栏:

  const [registerTable, { reload, getForm, getSelectRows }] = useTable({
    title: '列表',
    api: getCouponGroupList,
    columns: Columns,
    formConfig: { labelWidth: 120, schemas: searchFormSchema },
    useSearchForm: true,
    showTableSetting: true,
    actionColumn: {
      width: 140,
      title: t('common.action'),
      dataIndex: 'action',
      fixed: 'right',
    },
  });

async function getbrandListSelect() {
    const res = await getBrandDropDown({ type: 1 });
    brandList.value = res;
    const list = [] as any;
    res.forEach((item) => {
      list.push({ label: item.name, value: item.name });
    });
    brandList.value = list;
    //将数据放入下拉框中
    const { updateSchema } = getForm();
    await updateSchema({
      field: 'brand',
      componentProps: {
        options: unref(brandList.value),
      },
    });
 }

表单下拉框:

  const [registerForm, { updateSchema }] = useForm({
    labelWidth: 130,
    baseColProps: { span: 24 },
    schemas: formSchema,
    showActionButtonGroup: false,
    actionColOptions: { span: 23 },
  });

  updateSchema({
      field: 'couponInfoId',
      componentProps: {
        options: data,
      },
    });

Vue3中实现下拉框绑定接口,需要使用以下步骤: 1. 安装Axios库 Axios是一个基于Promise的HTTP客户端,可以用于浏览器和Node.js中,同支持拦截器、请求和响应转换、自动转换JSON数据等功能。在Vue3中,可以使用Axios来发送HTTP请求。 安装Axios库的命令如下: ``` npm install axios ``` 2. 创建下拉框组件 在Vue3中,可以使用`<select>`和`<option>`标签来创建下拉框组件。下拉框组件需要绑定一个数据源,用来显示下拉框的选项。通常情况下,数据源需要从后端接口获取。 在组件的`mounted`钩子函数中,使用Axios发送HTTP请求获取数据源,然后将数据赋值给组件的`options`属性。 组件的代码如下: ```vue <template> <select v-model="selectedOption"> <option v-for="option in options" :value="option.value">{{ option.label }}</option> </select> </template> <script> import axios from 'axios'; export default { data() { return { options: [], selectedOption: null, }; }, mounted() { axios.get('http://your-api.com/options') .then(response => { this.options = response.data; }) .catch(error => { console.log(error); }); }, }; </script> ``` 3. 绑定选中项 在Vue3中,可以使用`v-model`指令来绑定下拉框的选中项。选中项的值将被绑定到组件的`selectedOption`属性中。 当用户选择一个选项,`selectedOption`属性的值将自动更新。可以在组件中监听`selectedOption`属性的变化,以执行相关的操作。 组件的代码如下: ```vue <template> <select v-model="selectedOption"> <option v-for="option in options" :value="option.value">{{ option.label }}</option> </select> </template> <script> import axios from 'axios'; export default { data() { return { options: [], selectedOption: null, }; }, mounted() { axios.get('http://your-api.com/options') .then(response => { this.options = response.data; }) .catch(error => { console.log(error); }); }, watch: { selectedOption(newValue, oldValue) { console.log(`Selected option changed from ${oldValue} to ${newValue}`); }, }, }; </script> ``` 以上就是在Vue3中实现下拉框绑定接口的步骤。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值