对于el-autocomplete组件使用中字符串和数字导致的报错

问:

<!-- 专题 ?-->
        <el-col :span="8">
          <el-form-item
            prop="topicId"
            label="专题"
            :rules="{
            required: true, message: '专题不能为空', trigger: 'change'
          }"
          >
            <el-autocomplete
              v-model="addDataForm.topicId"
              :fetch-suggestions="querySearch"
              placeholder="请输入专题id"
              :trigger-on-focus="false"
              value-key="id"
              ></el-autocomplete>
              <!-- @select="handleSelect" -->
          </el-form-item>
        </el-col>

addDataForm:{
    topicId:"",
}

querySearch(id, cb) {
        console.log(cb,'cb')
          ajaxMethods(
              "get",
              `${configuration}/cxTopic/getById/${id}`,
              {},
              (res) => {
                  if (res.code === 0) {
                    const data = res.data;
                    // 将数据格式化为 el-autocomplete 所需的格式
                    const formattedData = { title: data.title, id: data.id };
                    cb([formattedData]); // 将格式化后的数据传递给回调函数
                  } else {
                    // 处理错误情况
                    console.error('请求失败:', res.msg);
                  }
              }
          );
      },

分析代码,为什么会导致报错:
[Vue warn]: Invalid prop: type check failed for prop "value". Expected String, got Number.

found in

---> <ElAutocomplete> at packages/autocomplete/src/autocomplete.vue
       <ElFormItem> at packages/form/src/form-item.vue
         <ElCol>
           <ElRow>
             <ElForm> at packages/form/src/form.vue
               <ElDialog> at packages/dialog/src/component.vue
                 <Root>

回答:

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值