亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

vue select遍歷 get請求向后臺傳數據

vue select遍歷 get請求向后臺傳數據

茅侃侃 2019-04-18 18:19:15
和后臺調接口的過程中,遇到select選擇器選中后,將value=0傳給后臺,但是傳不過去的問題      <Select v-model="maintainState" placeholder="請選擇" size="large" filterable clearable>        <Option v-for="item in maintainStates" :value="item.value" :key="item.value">{{ item.label }}</Option>      </Select>             maintainStates: [        {          value: 0,          label: '未開始'        },        {          value: 1,          label: '進行中'        },        {          value: 2,          label: '已完成'        }      ]      選擇value = 0 F12調試下沒有status字段 沒有傳過去封裝的get請求     get (url, params) {        let queryString = []        if (params) {          Object.keys(params).forEach((key) => params[key] && queryString.push(`${key}=${params[key]}`))        }        if (queryString.length > 0) {          queryString = queryString.join('&')          url += `?${queryString}`        }        return axios          .get(url)          .then(handleStatus)          .catch(handleError)      }      封裝得post請求          post (url, params) {            return axios              .post(path + url, getString(params))              .then(handleStatus)              .catch(handleError)          }      但是如果給value加上引號改成       maintainStates: [        {          value: '0',          label: '未開始'        },        {          value: '1',          label: '進行中'        },        {          value: '2',          label: '已完成'        }      ]就可以傳過去或者把請求方式改為post也可以最奇怪的是只有value=0時傳不過去 value=1,2時都可以請問大神這是為什么呢? 是我封裝的get請求不對嗎?
查看完整描述

2 回答

?
UYOU

TA貢獻1878條經驗 獲得超4個贊

js本身是弱類型的語言,0有很多種解釋,可以代表數字,也可以代表false(無),在你這個場景里面很明顯,js認為status無值造成的


查看完整回答
反對 回復 2019-05-19
?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

Object.keys(params).forEach((key) => params[key] && queryString.push(`${key}=${params[key]}`))

里面的代碼


params[key] && queryString.push(`${key}=${params[key]}`)

你這里需要params[key]為true才會執行&&后的語句,而當status為0時,上述變成


0 && queryString.push(`${key}=${params[key]}`)

0falsy(虛值),是在Boolean 上下文中已認定可轉換為'假'的值,所以后面push操作不會執行。而12truthy,而非空字符串也是truthy,所以會執行push操作。

查看完整回答
反對 回復 2019-05-19
  • 2 回答
  • 0 關注
  • 1815 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號