mirror of https://github.com/ElemeFE/element
				
				
				
			Table: support table sort (#1918)
							parent
							
								
									7489be0af5
								
							
						
					
					
						commit
						6f75ca6150
					
				| 
						 | 
				
			
			@ -112,9 +112,9 @@ export default {
 | 
			
		|||
                      }
 | 
			
		||||
                      {
 | 
			
		||||
                        column.sortable
 | 
			
		||||
                          ? <span class="caret-wrapper" on-click={ ($event) => this.handleHeaderClick($event, column) }>
 | 
			
		||||
                              <i class="sort-caret ascending"></i>
 | 
			
		||||
                              <i class="sort-caret descending"></i>
 | 
			
		||||
                          ? <span class="caret-wrapper">
 | 
			
		||||
                              <i class="sort-caret ascending" on-click={ ($event) => this.handleHeaderClick($event, column, 'ascending')}></i>
 | 
			
		||||
                              <i class="sort-caret descending" on-click={ ($event) => this.handleHeaderClick($event, column, 'descending')}></i>
 | 
			
		||||
                            </span>
 | 
			
		||||
                          : ''
 | 
			
		||||
                       }
 | 
			
		||||
| 
						 | 
				
			
			@ -332,7 +332,7 @@ export default {
 | 
			
		|||
      document.body.style.cursor = '';
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    handleHeaderClick(event, column) {
 | 
			
		||||
    handleHeaderClick(event, column, order) {
 | 
			
		||||
      let target = event.target;
 | 
			
		||||
      while (target && target.tagName !== 'TH') {
 | 
			
		||||
        target = target.parentNode;
 | 
			
		||||
| 
						 | 
				
			
			@ -360,15 +360,14 @@ export default {
 | 
			
		|||
        sortProp = column.property;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (!column.order) {
 | 
			
		||||
        sortOrder = column.order = 'ascending';
 | 
			
		||||
      } else if (column.order === 'ascending') {
 | 
			
		||||
        sortOrder = column.order = 'descending';
 | 
			
		||||
      } else {
 | 
			
		||||
      if (column.order === order) {
 | 
			
		||||
        sortOrder = column.order = null;
 | 
			
		||||
        states.sortingColumn = null;
 | 
			
		||||
        sortProp = null;
 | 
			
		||||
      } else {
 | 
			
		||||
        sortOrder = column.order = order;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      states.sortProp = sortProp;
 | 
			
		||||
      states.sortOrder = sortOrder;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -981,7 +981,7 @@ describe('Table', () => {
 | 
			
		|||
          });
 | 
			
		||||
 | 
			
		||||
        setTimeout(_ => {
 | 
			
		||||
          const elm = vm.$el.querySelector('.caret-wrapper');
 | 
			
		||||
          const elm = vm.$el.querySelector('.caret-wrapper > .ascending');
 | 
			
		||||
 | 
			
		||||
          elm.click();
 | 
			
		||||
          setTimeout(_ => {
 | 
			
		||||
| 
						 | 
				
			
			@ -1003,7 +1003,7 @@ describe('Table', () => {
 | 
			
		|||
          }
 | 
			
		||||
        }, '@sort-change="sortChange"');
 | 
			
		||||
        setTimeout(_ => {
 | 
			
		||||
          const elm = vm.$el.querySelector('.caret-wrapper');
 | 
			
		||||
          const elm = vm.$el.querySelector('.caret-wrapper > .ascending');
 | 
			
		||||
 | 
			
		||||
          elm.click();
 | 
			
		||||
          setTimeout(_ => {
 | 
			
		||||
| 
						 | 
				
			
			@ -1019,7 +1019,7 @@ describe('Table', () => {
 | 
			
		|||
      const vm = createTable('', '', '', 'sortable');
 | 
			
		||||
 | 
			
		||||
      it('ascending', done => {
 | 
			
		||||
        const elm = vm.$el.querySelector('.caret-wrapper');
 | 
			
		||||
        const elm = vm.$el.querySelector('.caret-wrapper > .ascending');
 | 
			
		||||
 | 
			
		||||
        elm.click();
 | 
			
		||||
        setTimeout(_ => {
 | 
			
		||||
| 
						 | 
				
			
			@ -1031,7 +1031,7 @@ describe('Table', () => {
 | 
			
		|||
      });
 | 
			
		||||
 | 
			
		||||
      it('descending', done => {
 | 
			
		||||
        const elm = vm.$el.querySelector('.caret-wrapper');
 | 
			
		||||
        const elm = vm.$el.querySelector('.caret-wrapper > .descending');
 | 
			
		||||
 | 
			
		||||
        elm.click();
 | 
			
		||||
        setTimeout(_ => {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue