|
|
@@ -754,15 +754,14 @@ const getGoodsDetails = async () => {
|
|
|
};
|
|
|
const DefaultSelect = () => {
|
|
|
let value = [];
|
|
|
- // 或者使用 for...in 循环(会按对象属性顺序)
|
|
|
- const allKeys = Object.keys(productValue.value);
|
|
|
|
|
|
+ const allKeys = Object.keys(productValue.value);
|
|
|
// 手动排序:按数字部分从小到大排序
|
|
|
- const keys = allKeys.sort((a, b) => {
|
|
|
- // 提取数字:5g -> 5, 100g -> 100
|
|
|
- const numA = parseInt(a.match(/\d+/)[0]);
|
|
|
- const numB = parseInt(b.match(/\d+/)[0]);
|
|
|
- return numA - numB;
|
|
|
+ const keys = [...allKeys].sort((a, b) => {
|
|
|
+ // 提取完整的数字(包括小数)
|
|
|
+ const numA = parseFloat(a.match(/\d+(\.\d+)?/)[0]);
|
|
|
+ const numB = parseFloat(b.match(/\d+(\.\d+)?/)[0]);
|
|
|
+ return numA - numB; // 从小到大排序
|
|
|
});
|
|
|
|
|
|
for (let i = 0; i < keys.length; i++) {
|
|
|
@@ -780,7 +779,7 @@ const DefaultSelect = () => {
|
|
|
});
|
|
|
|
|
|
const productSelect = productValue.value[value.join(",")];
|
|
|
- console.log('productSelect',productSelect)
|
|
|
+
|
|
|
if (productSelect && attr.value.productAttr.length) {
|
|
|
attr.value.productSelect = {
|
|
|
...attr.value.productSelect,
|