publish 0.9.9-rc-5

Table sortable support Safari、IE、Edge
This commit is contained in:
梁灏 2016-12-01 16:11:14 +08:00
parent a81dc06c7d
commit 89670198f3
4 changed files with 77 additions and 32 deletions

View file

@ -1,6 +1,6 @@
{
"name": "iview",
"version": "0.9.9-rc-4",
"version": "0.9.9-rc-5",
"title": "iView",
"description": "A high quality UI components Library with Vue.js",
"homepage": "http://www.iviewui.com",
@ -19,7 +19,7 @@
"src"
],
"scripts": {
"dev": "webpack-dev-server --content-base test/ --open --inline --hot --compress --history-api-fallback --port 8081 --config build/webpack.dev.config.js",
"dev": "webpack-dev-server --content-base test/ --open --inline --host 172.30.116.62 --hot --compress --history-api-fallback --port 8081 --config build/webpack.dev.config.js",
"dist:style": "gulp --gulpfile build/build-style.js",
"dist:dev": "webpack --config build/webpack.dist.dev.config.js",
"dist:prod": "webpack --config build/webpack.dist.prod.config.js",

View file

@ -36,10 +36,10 @@
<div slot="content" :class="[prefixCls + '-filter-list']" v-else>
<ul :class="[prefixCls + '-filter-list-single']">
<li
:class="[prefixCls + '-filter-select-item', {[prefixCls + '-filter-select-item-selected']: !column._filterChecked.length}]"
:class="itemAllClasses(column)"
@click="handleReset($index)">全部</li>
<li
:class="[prefixCls + '-filter-select-item', {[prefixCls + '-filter-select-item-selected']: column._filterChecked[0] === item.value}]"
:class="itemClasses(column, item)"
v-for="item in column.filters"
@click="handleSelect(index, item.value)">{{ item.label }}</li>
</ul>
@ -98,6 +98,22 @@
}
]
},
itemClasses (column, item) {
return [
`${this.prefixCls}-filter-select-item`,
{
[`${this.prefixCls}-filter-select-item-selected`]: column._filterChecked[0] === item.value
}
]
},
itemAllClasses (column) {
return [
`${this.prefixCls}-filter-select-item`,
{
[`${this.prefixCls}-filter-select-item-selected`]: !column._filterChecked.length
}
]
},
renderHeader (column, $index) {
if ('renderHeader' in this.columns[$index]) {
return this.columns[$index].renderHeader(column, $index);

View file

@ -368,7 +368,11 @@
if (this.cloneColumns[index].sortMethod) {
return this.cloneColumns[index].sortMethod(a, b);
} else {
return type === 'asc' ? a[key] > b[key] : a[key] < b[key];
if (type === 'asc') {
return a[key] > b[key] ? 1 : -1;
} else if (type === 'desc') {
return a[key] < b[key] ? 1 : -1;
}
}
});
return data;

View file

@ -1,65 +1,90 @@
<template>
<Card>
<i-table :content="self" border :columns="columns7" :data="data6"></i-table>
</Card>
<i-table border :columns="columns6" :data="data5"></i-table>
</template>
<script>
export default {
data () {
return {
self: this,
columns7: [
columns6: [
{
title: '日期',
key: 'date'
},
{
title: '姓名',
key: 'name',
render (row, column, index) {
return `<strong>${row.name}</strong>`;
}
key: 'name'
},
{
title: '年龄',
key: 'age'
key: 'age',
filters: [
{
label: '大于25岁',
value: 1
},
{
label: '小于25岁',
value: 2
}
],
filterMultiple: false,
filterMethod (value, row) {
if (value === 1) {
return row.age > 25;
} else if (value === 2) {
return row.age < 25;
}
}
},
{
title: '地址',
key: 'address'
},
{
title: '操作',
key: 'action',
render (row, column, index) {
return `<i-button type="primary" size="small" @click="show(${index})">查看</i-button> <i-button type="error" size="small" @click="remove(${index})">删除</i-button>`;
key: 'address',
filters: [
{
label: '北京',
value: '北京'
},
{
label: '上海',
value: '上海'
},
{
label: '深圳',
value: '深圳'
}
],
filterMethod (value, row) {
return row.address.indexOf(value) > -1;
}
}
],
data6: [
data5: [
{
name: '王小明',
age: 18,
address: '北京市朝阳区芍药居'
address: '北京市朝阳区芍药居',
date: '2016-10-03'
},
{
name: '张小刚',
age: 25,
address: '北京市海淀区西二旗'
address: '北京市海淀区西二旗',
date: '2016-10-01'
},
{
name: '李小红',
age: 30,
address: '上海市浦东新区世纪大道'
address: '上海市浦东新区世纪大道',
date: '2016-10-02'
},
{
name: '周小伟',
age: 26,
address: '深圳市南山区深南大道'
address: '深圳市南山区深南大道',
date: '2016-10-04'
}
]
}
},
methods: {
remove (index) {
this.data6.splice(index, 1);
}
}
}
</script>