我有1个表,其中包含我应用程序的所有下拉菜单。该表中有3列,即OptionValue,OptionOrder和TemplateID。在我的用户界面中,我有数百个下拉菜单,仅基于TemplateID显示了相关选项。对于某些下拉列表,我希望它们根据基于OptionValue的字母数字顺序进行排序,而在其他下拉列表中,我希望它们根据我设置的OptionOrder进行排序(通常是小于10个选项的较小列表)。以下是我的TS代码中的内容,但似乎不起作用。如果我在给定下拉列表中的所有选项都具有OptionOrder,则可以对它们正确排序,但是如果它们具有OptionOrder = null,则排序将无法按预期进行。
这是我的桌子的一个例子:
这是我的TS代码:
//Compares options with OptionOrder is null
compareOptions(a, b) {
if (a.optionOrder == null) {
if (a.optionValue < b.optionValue) {
return -1;
}
if (a.optionValue > b.optionValue) {
return 1;
}
}
//Compares options with OptionOrder populated
if (a.optionOrder != null) {
if (a.optionOrder < b.optionOrder) {
return -1;
}
if (a.optionOrder > b.optionOrder) {
return 1;
}
}
是因为我具有字母数字值并且无法进行正确的比较,还是发生了其他事情?