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", "name": "iview",
"version": "0.9.9-rc-4", "version": "0.9.9-rc-5",
"title": "iView", "title": "iView",
"description": "A high quality UI components Library with Vue.js", "description": "A high quality UI components Library with Vue.js",
"homepage": "http://www.iviewui.com", "homepage": "http://www.iviewui.com",
@ -19,7 +19,7 @@
"src" "src"
], ],
"scripts": { "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:style": "gulp --gulpfile build/build-style.js",
"dist:dev": "webpack --config build/webpack.dist.dev.config.js", "dist:dev": "webpack --config build/webpack.dist.dev.config.js",
"dist:prod": "webpack --config build/webpack.dist.prod.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> <div slot="content" :class="[prefixCls + '-filter-list']" v-else>
<ul :class="[prefixCls + '-filter-list-single']"> <ul :class="[prefixCls + '-filter-list-single']">
<li <li
:class="[prefixCls + '-filter-select-item', {[prefixCls + '-filter-select-item-selected']: !column._filterChecked.length}]" :class="itemAllClasses(column)"
@click="handleReset($index)">全部</li> @click="handleReset($index)">全部</li>
<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" v-for="item in column.filters"
@click="handleSelect(index, item.value)">{{ item.label }}</li> @click="handleSelect(index, item.value)">{{ item.label }}</li>
</ul> </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) { renderHeader (column, $index) {
if ('renderHeader' in this.columns[$index]) { if ('renderHeader' in this.columns[$index]) {
return this.columns[$index].renderHeader(column, $index); return this.columns[$index].renderHeader(column, $index);

View file

@ -368,7 +368,11 @@
if (this.cloneColumns[index].sortMethod) { if (this.cloneColumns[index].sortMethod) {
return this.cloneColumns[index].sortMethod(a, b); return this.cloneColumns[index].sortMethod(a, b);
} else { } 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; return data;

View file

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