vue element UI 에서 table 의 숫자,알파벳,중국어 혼합 정렬 문 제 를 해결 합 니 다.
elementUI 에 있 는 table 을 사용 할 때 알파벳 중국어 이름 등 필드 에 정렬 합 니 다.
예 를 들 어 숫자(0->9)->대문자(A->Z)->소문 자(a->z)->중국어 병 음(a->z)
2.코드 분석
<el-table
ref="multipleTable"
border
tooltip-effect="dark"
class="xg-table"
style="width: 100%"
max-height="600">
<el-table-column
type="selection"
width="60" />
<el-table-column
:default-sort = "{prop: 'DevName'}"
:sort-method="sortDevName"
prop="DevName"
label=" "
sortable
show-overflow-tooltip />
</el-table>
속성 sortable 을 설정 하면 자체 시스템 에 따라 정렬 되 고 우리 의 기대 에 부합 되 지 않 습 니 다.그래서 속성 sort-method 를 추가 하여 정렬 방식 을 사용자 정의 합 니 다.
<script>
export default {
methods: {
sortDevName(str1, str2) {
let res = 0
for (let i = 0; ;i++) {
if (!str1[i] || !str2[i]) {
res = str1.length - str2.length
break
}
const char1 = str1[i]
const char1Type = this.getChartType(char1)
const char2 = str2[i]
const char2Type = this.getChartType(char2)
//
if (char1Type[0] === char2Type[0]) {
if (char1 === char2) {
continue
} else {
if (char1Type[0] === 'zh') {
res = char1.localeCompare(char2)
} else if (char1Type[0] === 'en') {
res = char1.charCodeAt(0) - char2.charCodeAt(0)
} else {
res = char1 - char2
}
break
}
} else {
// ,
res = char1Type[1] - char2Type[1]
break
}
}
return res
},
getChartType(char) {
// ,
// (0->9)-> (A->Z)-> (a->z)-> (a->z)
if (/^[\u4e00-\u9fa5]$/.test(char)) {
return ['zh', 300]
}
if (/^[a-zA-Z]$/.test(char)) {
return ['en', 200]
}
if (/^[0-9]$/.test(char)) {
return ['number', 100]
}
return ['others', 999]
}
}
}
</script>
3.페이지 효과원래 목록 ==》》 정상 적 인 순서 ==》》 역순
총결산
위 에서 말 한 것 은 편집장 이 여러분 에 게 소개 한 vue element UI 에서 table 의 숫자,자모,중국어 혼합 정렬 문 제 를 해결 하 는 것 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 메 시 지 를 남 겨 주세요.편집장 은 신속하게 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
만약 당신 이 본문 이 당신 에 게 도움 이 된다 고 생각한다 면,전 재 를 환영 합 니 다.번 거 로 우 시 겠 지만 출처 를 밝 혀 주 십시오.감사합니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Fastapi websocket 및 vue 3(Composition API)1부: FastAPI virtualenv 만들기(선택 사항) FastAPI 및 필요한 모든 것을 다음과 같이 설치하십시오. 생성main.py 파일 및 실행 - 브라우저에서 이 링크 열기http://127.0.0.1:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.