commit
183ab50e0c
6 changed files with 39 additions and 14 deletions
|
@ -13,7 +13,7 @@
|
||||||
</button>
|
</button>
|
||||||
<ul :class="dotsClasses">
|
<ul :class="dotsClasses">
|
||||||
<template v-for="n in slides.length">
|
<template v-for="n in slides.length">
|
||||||
<li :class="{ [`${prefixCls}-active`]: n === currentIndex }"
|
<li :class="[n === currentIndex ? prefixCls+'-active':'' ]"
|
||||||
@click="dotsEvent('click', n)"
|
@click="dotsEvent('click', n)"
|
||||||
@mouseover="dotsEvent('hover', n)">
|
@mouseover="dotsEvent('hover', n)">
|
||||||
<button></button>
|
<button></button>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<div :class="classes">
|
<div :class="classes">
|
||||||
<template v-if="renderType === 'index'">{{naturalIndex + 1}}</template>
|
<template v-if="renderType === 'index'">{{naturalIndex + 1}}</template>
|
||||||
<template v-if="renderType === 'selection'">
|
<template v-if="renderType === 'selection'">
|
||||||
<Checkbox :checked="checked" @on-change="toggleSelect"></Checkbox>
|
<Checkbox :checked="checked" @on-change="toggleSelect" :disabled="disabled"></Checkbox>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="renderType === 'normal'">{{{ row[column.key] }}}</template>
|
<template v-if="renderType === 'normal'">{{{ row[column.key] }}}</template>
|
||||||
</div>
|
</div>
|
||||||
|
@ -19,6 +19,7 @@
|
||||||
naturalIndex: Number, // index of rebuildData
|
naturalIndex: Number, // index of rebuildData
|
||||||
index: Number, // _index of data
|
index: Number, // _index of data
|
||||||
checked: Boolean,
|
checked: Boolean,
|
||||||
|
disabled: Boolean,
|
||||||
fixed: {
|
fixed: {
|
||||||
type: [Boolean, String],
|
type: [Boolean, String],
|
||||||
default: false
|
default: false
|
||||||
|
|
|
@ -19,7 +19,9 @@
|
||||||
:column="column"
|
:column="column"
|
||||||
:natural-index="index"
|
:natural-index="index"
|
||||||
:index="row._index"
|
:index="row._index"
|
||||||
:checked="rowChecked(row._index)"></Cell>
|
:checked="rowChecked(row._index)"
|
||||||
|
:disabled="rowDisabled(row._index)"
|
||||||
|
></Cell>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
@ -58,6 +60,9 @@
|
||||||
rowChecked (_index) {
|
rowChecked (_index) {
|
||||||
return this.objData[_index] && this.objData[_index]._isChecked;
|
return this.objData[_index] && this.objData[_index]._isChecked;
|
||||||
},
|
},
|
||||||
|
rowDisabled(_index){
|
||||||
|
return this.objData[_index] && this.objData[_index]._isDisabled;
|
||||||
|
},
|
||||||
rowClsName (_index) {
|
rowClsName (_index) {
|
||||||
return this.$parent.rowClassName(this.objData[_index], _index);
|
return this.$parent.rowClassName(this.objData[_index], _index);
|
||||||
},
|
},
|
||||||
|
|
|
@ -85,9 +85,8 @@
|
||||||
isSelectAll () {
|
isSelectAll () {
|
||||||
let isSelectAll = true;
|
let isSelectAll = true;
|
||||||
if (!this.data.length) isSelectAll = false;
|
if (!this.data.length) isSelectAll = false;
|
||||||
|
|
||||||
for (let i = 0; i < this.data.length; i++) {
|
for (let i = 0; i < this.data.length; i++) {
|
||||||
if (!this.objData[this.data[i]._index]._isChecked) {
|
if (!this.objData[this.data[i]._index]._isChecked && !this.objData[this.data[i]._index]._isDisabled) {
|
||||||
isSelectAll = false;
|
isSelectAll = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -391,10 +391,21 @@
|
||||||
this.$emit('on-selection-change', selection);
|
this.$emit('on-selection-change', selection);
|
||||||
},
|
},
|
||||||
selectAll (status) {
|
selectAll (status) {
|
||||||
this.rebuildData.forEach((data) => {
|
// this.rebuildData.forEach((data) => {
|
||||||
this.objData[data._index]._isChecked = status;
|
// if(this.objData[data._index]._isDisabled){
|
||||||
});
|
// this.objData[data._index]._isChecked = false;
|
||||||
|
// }else{
|
||||||
|
// this.objData[data._index]._isChecked = status;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// });
|
||||||
|
for(const data of this.rebuildData){
|
||||||
|
if(this.objData[data._index]._isDisabled){
|
||||||
|
continue;
|
||||||
|
}else{
|
||||||
|
this.objData[data._index]._isChecked = status;
|
||||||
|
}
|
||||||
|
}
|
||||||
const selection = this.getSelection();
|
const selection = this.getSelection();
|
||||||
if (status) {
|
if (status) {
|
||||||
this.$emit('on-select-all', selection);
|
this.$emit('on-select-all', selection);
|
||||||
|
@ -548,8 +559,13 @@
|
||||||
this.data.forEach((row, index) => {
|
this.data.forEach((row, index) => {
|
||||||
const newRow = deepCopy(row);// todo 直接替换
|
const newRow = deepCopy(row);// todo 直接替换
|
||||||
newRow._isHover = false;
|
newRow._isHover = false;
|
||||||
|
if(newRow._disabled){
|
||||||
|
newRow._isDisabled = newRow._disabled;
|
||||||
|
}else{
|
||||||
|
newRow._isDisabled = false;
|
||||||
|
}
|
||||||
if (newRow._checked) {
|
if (newRow._checked) {
|
||||||
newRow._isChecked = newRow._checked;
|
newRow._isChecked = newRow._checked;
|
||||||
} else {
|
} else {
|
||||||
newRow._isChecked = false;
|
newRow._isChecked = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,25 +54,29 @@
|
||||||
age: 18,
|
age: 18,
|
||||||
address: '北京市朝阳区芍药居',
|
address: '北京市朝阳区芍药居',
|
||||||
_highlight: true,
|
_highlight: true,
|
||||||
_checked: true
|
_checked: true,
|
||||||
|
_disabled: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '张小刚',
|
name: '张小刚',
|
||||||
age: 25,
|
age: 25,
|
||||||
address: '北京市海淀区西二旗',
|
address: '北京市海淀区西二旗',
|
||||||
_checked: true
|
_checked: false,
|
||||||
|
_disabled: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '李小红',
|
name: '李小红',
|
||||||
age: 30,
|
age: 30,
|
||||||
address: '上海市浦东新区世纪大道',
|
address: '上海市浦东新区世纪大道',
|
||||||
_checked: true
|
_checked: true,
|
||||||
|
_disabled: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '周小伟',
|
name: '周小伟',
|
||||||
age: 26,
|
age: 26,
|
||||||
address: '深圳市南山区深南大道',
|
address: '深圳市南山区深南大道',
|
||||||
_checked: true
|
_checked: false,
|
||||||
|
_disabled: false
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue