> 웹 프론트엔드 > 레이이 튜토리얼 > Layui의 테이블 모양 및 기능을 어떻게 사용자 정의합니까?

Layui의 테이블 모양 및 기능을 어떻게 사용자 정의합니까?

Karen Carpenter
풀어 주다: 2025-03-12 13:34:19
원래의
975명이 탐색했습니다.

Layui의 테이블 모양 및 기능을 어떻게 사용자 정의합니까?

Layui는 테이블의 모양과 기능을 사용자 정의하기위한 광범위한 옵션을 제공합니다. 색상 및 글꼴에서 열 너비 및 데이터 표시에 이르기까지 거의 모든 측면을 수정할 수 있습니다. 이 사용자 정의는 주로 table.render() 메소드 옵션 매개 변수.

스타일링 : Layui는 스타일링에 CSS를 사용합니다. 자신의 CSS 규칙을 추가하여 특정 LAYUI 테이블 클래스를 타겟팅하여 기본 스타일을 무시할 수 있습니다. 예를 들어, 테이블 요소에 사용자 정의 클래스를 추가 한 다음 배경색, 글꼴 크기, 테두리 스타일 등을 변경하기 위해 클래스 스타일을 추가 할 수 있습니다. Layui의 테마 시스템을 사용하여 전반적인 모양과 느낌을 신속하게 변경할 수 있습니다.

기능 : 사용자 정의는 외관을 넘어 확장됩니다. 열이 정렬 가능한지 여부, 행 선택 가능 여부, 각 열에 표시되는 데이터 유형 (예 : 텍스트, 번호, 날짜) 및 행 클릭과 같은 이벤트 동작과 같은 측면을 제어 할 수 있습니다. table.render() 메소드. 예를 들어, cols 옵션을 사용하면 특정 데이터 유형, 정렬, 너비 및 사용자 정의 렌더링 기능이있는 열을 정의 할 수 있습니다. page 옵션은 페이지 매김 동작을 제어하는 ​​반면 limit 옵션은 페이지 당 행 수를 설정합니다. done 콜백 함수를 사용하면 테이블이 렌더링 된 후 코드를 실행할 수있어 추가 조작을위한 후크가 제공됩니다.

Layui 테이블 행에 사용자 정의 버튼이나 작업을 추가 할 수 있습니까?

예, LAYUI 테이블 행에 사용자 정의 버튼 또는 작업을 추가 할 수 있습니다. 일반적으로 table.render() 내에서 toolbar 옵션을 사용하거나 테이블이 렌더링 된 후 DOM을 조작하여 달성됩니다.

toolbar 옵션 사용 : 이 옵션을 사용하면 각 행에 동작을 표시 할 템플릿을 정의 할 수 있습니다. 템플릿에는 버튼, 링크 또는 더 복잡한 구성 요소와 같은 HTML 요소가 포함될 수 있습니다. 그런 다음 JavaScript를 사용하여 이러한 작업에 의해 유발 된 이벤트를 처리합니다. 예를 들어:

 <code class="javascript">table.render({ elem: '#myTable', url: '/data', cols: [[ {field: 'id', title: 'ID'}, {field: 'name', title: 'Name'}, {toolbar: '#barDemo'} // This line adds the toolbar ]], id: 'myTableId' });</code>
로그인 후 복사

여기서 #barDemo 는 사용자 정의 버튼이 포함 된 템플릿입니다.

 <code class="html"><script type="text/html" id="barDemo"> <a class="layui-btn layui-btn-xs" lay-event="edit">Edit <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">Delete </script></code>
로그인 후 복사

그런 다음 Layui 테이블의 tool 이벤트를 사용하여 editdelete 이벤트를 처리합니다.

 <code class="javascript">layui.table.on('tool(myTableId)', function(obj){ var data = obj.data; if(obj.event === 'edit'){ // Edit logic here } else if(obj.event === 'delete'){ // Delete logic here } });</code>
로그인 후 복사

DOM 조작 : 또는 JavaScript 및 DOM 조작을 사용하여 테이블을 렌더링 한 후 테이블 행에 직접 버튼을 추가 할 수 있습니다. 더 많은 유연성을 제공하지만 더 많은 수동 코딩이 필요합니다. 선택기를 사용하여 적절한 테이블 행을 대상으로 한 다음 사용자 정의 버튼을 추가합니다.

Layui 테이블을 기존 백엔드 데이터와 통합하려면 어떻게해야합니까?

Layui 테이블은 백엔드 데이터 소스와 완벽하게 통합하도록 설계되었습니다. 키는 table.render() 메소드 내의 url 옵션입니다. 이 옵션은 데이터를 JSON 형식으로 리턴하는 백엔드 API 엔드 포인트의 URL을 지정합니다.

JSON 데이터 구조 : 백엔드 API는 Layui가 이해할 수있는 JSON 형식으로 데이터를 반환해야합니다. 일반적으로 여기에는 객체 배열이 포함 된 data 속성이있는 구조가 포함되며 각 객체는 테이블의 행을 나타냅니다. 이 객체의 키는 테이블 열에서 정의하는 field 이름에 해당합니다. 예를 들어:

 <code class="json">{ "code": 0, //optional, success code "msg": "", //optional, success message "count": 100, //optional, total number of records "data": [ {"id": 1, "name": "John Doe", "age": 30}, {"id": 2, "name": "Jane Smith", "age": 25} ] }</code>
로그인 후 복사

url 옵션 설정 : JavaScript 코드에서 백엔드 API를 가리키는 url 옵션을 설정합니다.

 <code class="javascript">table.render({ elem: '#myTable', url: '/api/getData', // Your backend API endpoint cols: [[ {field: 'id', title: 'ID'}, {field: 'name', title: 'Name'}, {field: 'age', title: 'Age'} ]] });</code>
로그인 후 복사

그런 다음 Layui는이 URL에 Ajax 요청을하고 데이터를 검색 한 다음 그에 따라 테이블을 채 웁니다. 백엔드 API가 요청을 처리하고 예상 JSON 형식으로 데이터를 반환하도록 올바르게 구성되어 있는지 확인하십시오. 잠재적 인 네트워크 문제 또는 API 오류를 관리하기 위해 오류 처리를 구현해야합니다.

Layui 테이블에서 Pagination 및 정렬을 구현하려면 어떻게해야합니까?

Layui는 페이지 매김 및 분류에 대한 내장 지원을 제공합니다. table.render() 에서 옵션을 사용하여 이러한 기능을 활성화하고 사용자 정의 할 수 있습니다.

Pagination : page 옵션을 true 로 설정하여 Pagination이 활성화됩니다. limit (페이지 당 행), limits (페이지 당 선택 가능한 행의 배열) 및 layout (어떤 페이지 매김 요소가 표시되는 컨트롤)와 같은 옵션을 설정하여 페이지 매김을 추가로 사용자 정의 할 수 있습니다.

 <code class="javascript">table.render({ elem: '#myTable', url: '/api/getData', page: true, // Enables pagination limit: 10, // 10 rows per page limits: [10, 20, 30], // Options for rows per page layout: ['prev', 'page', 'next', 'limit', 'skip'] // Customize pagination elements });</code>
로그인 후 복사

정렬 : layui는 열 정의에서 sort 옵션을 지정하는 경우 기본적으로 클라이언트 측 정렬을 지원합니다. 서버 측 정렬의 경우 백엔드 API의 정렬 로직을 처리해야합니다. 사용자가 정렬 가능한 열 헤더를 클릭하면 Layui는 url 옵션에 지정된 URL에 정렬 매개 변수 (예 : sortorder )를 추가합니다. 백엔드 API는 이러한 매개 변수를 해석하고 정렬 된 데이터를 그에 따라 반환해야합니다.

 <code class="javascript">table.render({ elem: '#myTable', url: '/api/getData', cols: [[ {field: 'id', title: 'ID', sort: true}, // Enables sorting for this column {field: 'name', title: 'Name', sort: true} ]] });</code>
로그인 후 복사

정렬이 수행 될 때 Layui가 보낸 sortorder 매개 변수를 처리하도록 백엔드 API를 조정해야합니다. 이렇게하면 올바른 데이터가 테이블에 반환되어 표시됩니다.

위 내용은 Layui의 테이블 모양 및 기능을 어떻게 사용자 정의합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿