解決easyui combobox賦值boolean型別的值時,經常出現的內容顯示的value而不是text的bug

五毛程式設計師發表於2019-01-05

版本:EasyUI 1.7.0

在用easyui寫專案時,碰到一個combobox的奇葩bug。程式碼如下:

<div>
    <select class="easyui-combobox" id="edit_sex" name="sex" data-options="label:`性別:`, width:300, required:true">
        <option value="true">男</option>
        <option value="false">女</option>
    </select>
</div>

賦值語句如下:

$(`#edit_sex`).combobox(`setValue`, row.sex);

本來這是一個很簡單的combobox賦值,但是當我真正賦值時卻出現了問題,經常出現一個bug,就是賦值完,combobox顯示的內容是true或者false,而不是男或女,而且重現率極高。
我在測試了其他賦值情況後,發現是row.sex的值存在問題。該值是boolean型別,combobox賦值boolean型別的值的時候,會經常出現顯示內容為value而不是text的bug。
那麼問題解決起來就簡單了,把boolean型別改為字串。修改後的賦值語句如下:

$(`#edit_sex`).combobox(`setValue`, String(row.sex));

暫時不得而知bug原因。如果有人知道麻煩解答,謝謝。

相關文章