> 技术文档 > 下拉默认全选,选择展示对象的字段list

下拉默认全选,选择展示对象的字段list

下拉默认全选,选择展示对象的字段list

 

opened + selection-changed

已选中 ID: {{ selectedItems }}
import { DxDropDownBox } from \'devextreme-vue/drop-down-box\';import { DxDataGrid, DxColumn, DxSelection } from \'devextreme-vue/data-grid\';export default { components: { DxDropDownBox, DxDataGrid, DxColumn, DxSelection, }, data() { return { selectedItems: [], dataSource: [ { id: 1, name: \'苹果\', color: \'红色\' }, { id: 2, name: \'香蕉\', color: \'黄色\' }, { id: 3, name: \'橙子\', color: \'橙色\' }, { id: 4, name: \'葡萄\', color: \'紫色\' }, ], }; }, methods: { onOpened() { const grid = this.$refs.dataGrid?.instance; if (grid) { grid.clearSelection(); // (可选,顺序会重排)清除当前选择,再全选 grid.selectAll(); // 注意:selectAll() 会触发 @selection-changed,所以 selectedItems 会由 onSelectionChanged 自动更新 } }, onSelectionChanged(e) { this.selectedItems = e.selectedRowKeys.map(item =>item.id); }, },};

async onMaterialInput(record, code) {

  const res = await fetch(`/api/material?code=${code}`);

  const data = await res.json();

 

  // ✅ 关键:断开引用,创建新数组

  record.dataSource = data.map(item => ({ ...item }));

 

  // ✅ 确保 selectedItems 从新数组取

  record.selectedItems = record.dataSource.map(item => item.id);

}

排序:

const array = [\"A#1\", \"B#2\"];

// 升序排序
const ascending = array.sort((a, b) => {
    const numA = parseInt(a.split(\"#\")[1], 10);
    const numB = parseInt(b.split(\"#\")[1], 10);
    return numA - numB;
});
console.log(\"升序:\", ascending); // [\"A#1\", \"B#2\"]

// 降序排序
const descending = array.sort((a, b) => {
    const numA = parseInt(a.split(\"#\")[1], 10);
    const numB = parseInt(b.split(\"#\")[1], 10);
    return numB - numA;
});
console.log(\"降序:\", descending); // [\"B#2\", \"A#1\"]
 

java:

import java.util.*;

public class Main {
    public static void main(String[] args) {
        String[] array = {\"A#1\", \"B#2\"};
        System.out.println(\"原数组: \" + Arrays.toString(array));

        // 升序排序
        Arrays.sort(array, new HashComparator());
        System.out.println(\"升序: \" + Arrays.toString(array));

        // 降序排序
        Arrays.sort(array, new HashComparator().reversed());
        System.out.println(\"降序: \" + Arrays.toString(array));
    }
}

class HashComparator implements Comparator {
    @Override
    public int compare(String s1, String s2) {
        int num1 = Integer.parseInt(s1.split(\"#\")[1]);
        int num2 = Integer.parseInt(s2.split(\"#\")[1]);
        return Integer.compare(num1, num2); // 升序
    }
}