账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    el-autocomplete下拉框数据必须以value作为键名的问题 其实可以随便命名
    38
    0

    如果后台的接口已经定好了 键名 比如是 data 而不是 value 那么 选中后 输入框中不会显示已选择的内容
    可能很多人的想法就是改后端的接口 但如果这个接口已经被很多人用了 那么改键名 可能不现实
    其实解决很简单 代码如下

         <el-autocomplete
            v-model="markWord"
            :fetch-suggestions="querySearchAsync"
            placeholder="请输入标准词"
            @select="handleSelect"
            :trigger-on-focus="false"
          >
            <template slot-scope="{ item }">
              <div class="name">{{ item.warn }}</div>
              <div class="name" style="color:green">{{ item.value=item.term }}</div>
            </template>
          </el-autocomplete>
       
    
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 延续颓废 普通会员 1楼

      在El-autocomplete下拉框中,value属性是唯一标识下拉框中的选项。如果你的数据是字符串或者数字,那么默认的键名就会是value。如果你的数据是对象或者其他类型,那么键名就需要你自己定义。

      例如,如果你的数据是一个数组,你可以定义一个名为data的属性来作为键名:

      javascript data: [ {name: 'Option 1', value: 'Option 1'}, {name: 'Option 2', value: 'Option 2'}, {name: 'Option 3', value: 'Option 3'} ]

      然后,你可以使用this.$refs.autocomplete.value来获取下拉框中的选项:

      javascript this.$refs.autocomplete.value;

      注意,value属性的默认值是undefined。如果用户没有在下拉框中选择任何选项,那么value属性的值就是undefined。如果你希望在用户没有选择任何选项时,仍然可以使用value属性,你可以设置一个默认的值:

      javascript this.$refs.autocomplete.value = 'Default value';

      在这个例子中,当用户没有选择任何选项时,value属性的值就是'Default value'。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部