Skip to content

Commit b87d722

Browse files
committed
fix: support staticClass and dynamic class #371
1 parent ba4992b commit b87d722

File tree

3 files changed

+28
-26
lines changed

3 files changed

+28
-26
lines changed

components/_util/props-util.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -180,14 +180,16 @@ export function getClass (ele) {
180180
} else if (ele.$vnode && ele.$vnode.data) {
181181
data = ele.$vnode.data
182182
}
183-
const tempCls = data.class || data.staticClass
183+
const tempCls = data.class || {}
184+
const staticClass = data.staticClass
184185
let cls = {}
186+
staticClass && staticClass.split(' ').forEach(c => { cls[c.trim()] = true })
185187
if (typeof tempCls === 'string') {
186188
tempCls.split(' ').forEach(c => { cls[c.trim()] = true })
187189
} else if (Array.isArray(tempCls)) {
188190
classNames(tempCls).split(' ').forEach(c => { cls[c.trim()] = true })
189191
} else {
190-
cls = tempCls
192+
cls = { ...cls, ...tempCls }
191193
}
192194
return cls
193195
}

components/table/__tests__/__snapshots__/Table.test.js.snap

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

33
exports[`Table renders JSX correctly 1`] = `
4-
<div class="ant-table-wrapper"><span tag="div" class="ant-spin-nested-loading"><div class="ant-spin-container"><div class="ant-table ant-table-scroll-position-left ant-table-default"><div class="ant-table-content"><!----><div class="ant-table-body"><table class=""><colgroup><col><col><col></colgroup><thead class="ant-table-thead"><tr><th key="0" colspan="2" class=""><div>Name</div></th><th key="age" rowspan="2" class=""><div>Age</div></th></tr><tr><th key="firstName" class=""><div>First Name</div></th><th key="lastName" class=""><div>Last Name</div></th></tr></thead><tbody class="ant-table-tbody"><tr class="ant-table-row ant-table-row-level-0" data-row-key="1"><td><span class="ant-table-row-indent indent-level-0" style="padding-left: 0px;"></span>
4+
<div class="ant-table-wrapper"><span tag="div" class="ant-spin-nested-loading"><div class="ant-spin-container"><div class="ant-table ant-table-scroll-position-left ant-table-default"><div class="ant-table-content"><!----><div class="ant-table-body"><table class=""><colgroup><col><col><col></colgroup><thead class="ant-table-thead"><tr><th key="0" colspan="2" class=""><div>Name</div></th><th key="age" rowspan="2" class=""><div>Age</div></th></tr><tr><th key="firstName" class=""><div>First Name</div></th><th key="lastName" class=""><div>Last Name</div></th></tr></thead><tbody class="ant-table-tbody"><tr class="ant-table-row ant-table-row-level-0" data-row-key="1"><td class=""><span class="ant-table-row-indent indent-level-0" style="padding-left: 0px;"></span>
55
<!---->John</td>
6-
<td>Brown</td>
7-
<td>32</td>
6+
<td class="">Brown</td>
7+
<td class="">32</td>
88
</tr>
99
<tr class="ant-table-row ant-table-row-level-0" data-row-key="2">
10-
<td><span class="ant-table-row-indent indent-level-0" style="padding-left: 0px;"></span>
10+
<td class=""><span class="ant-table-row-indent indent-level-0" style="padding-left: 0px;"></span>
1111
<!---->Jim</td>
12-
<td>Green</td>
13-
<td>42</td>
12+
<td class="">Green</td>
13+
<td class="">42</td>
1414
</tr>
1515
</tbody>
1616
</table>

components/table/__tests__/__snapshots__/demo.test.js.snap

+18-18
Original file line numberDiff line numberDiff line change
@@ -2896,31 +2896,31 @@ exports[`renders ./components/table/demo/template.md correctly 1`] = `
28962896
</thead>
28972897
<tbody class="ant-table-tbody">
28982898
<tr class="ant-table-row ant-table-row-level-0" data-row-key="1">
2899-
<td><span class="ant-table-row-indent indent-level-0" style="padding-left: 0px;"></span>
2899+
<td class=""><span class="ant-table-row-indent indent-level-0" style="padding-left: 0px;"></span>
29002900
<!---->John</td>
2901-
<td>Brown</td>
2902-
<td>32</td>
2903-
<td>New York No. 1 Lake Park</td>
2904-
<td><span><div data-show="true" class="ant-tag ant-tag-blue ant-tag-zoom-enter">nice</div><div data-show="true" class="ant-tag ant-tag-blue ant-tag-zoom-enter">developer</div></span></td>
2905-
<td><span><a href="javascript:;">Action 一 John</a> <div class="ant-divider ant-divider-vertical"></div> <a href="javascript:;">Delete</a></span></td>
2901+
<td class="">Brown</td>
2902+
<td class="">32</td>
2903+
<td class="">New York No. 1 Lake Park</td>
2904+
<td class=""><span><div data-show="true" class="ant-tag ant-tag-blue ant-tag-zoom-enter">nice</div><div data-show="true" class="ant-tag ant-tag-blue ant-tag-zoom-enter">developer</div></span></td>
2905+
<td class=""><span><a href="javascript:;">Action 一 John</a> <div class="ant-divider ant-divider-vertical"></div> <a href="javascript:;">Delete</a></span></td>
29062906
</tr>
29072907
<tr class="ant-table-row ant-table-row-level-0" data-row-key="2">
2908-
<td><span class="ant-table-row-indent indent-level-0" style="padding-left: 0px;"></span>
2908+
<td class=""><span class="ant-table-row-indent indent-level-0" style="padding-left: 0px;"></span>
29092909
<!---->Jim</td>
2910-
<td>Green</td>
2911-
<td>42</td>
2912-
<td>London No. 1 Lake Park</td>
2913-
<td><span><div data-show="true" class="ant-tag ant-tag-blue ant-tag-zoom-enter">loser</div></span></td>
2914-
<td><span><a href="javascript:;">Action 一 Jim</a> <div class="ant-divider ant-divider-vertical"></div> <a href="javascript:;">Delete</a></span></td>
2910+
<td class="">Green</td>
2911+
<td class="">42</td>
2912+
<td class="">London No. 1 Lake Park</td>
2913+
<td class=""><span><div data-show="true" class="ant-tag ant-tag-blue ant-tag-zoom-enter">loser</div></span></td>
2914+
<td class=""><span><a href="javascript:;">Action 一 Jim</a> <div class="ant-divider ant-divider-vertical"></div> <a href="javascript:;">Delete</a></span></td>
29152915
</tr>
29162916
<tr class="ant-table-row ant-table-row-level-0" data-row-key="3">
2917-
<td><span class="ant-table-row-indent indent-level-0" style="padding-left: 0px;"></span>
2917+
<td class=""><span class="ant-table-row-indent indent-level-0" style="padding-left: 0px;"></span>
29182918
<!---->Joe</td>
2919-
<td>Black</td>
2920-
<td>32</td>
2921-
<td>Sidney No. 1 Lake Park</td>
2922-
<td><span><div data-show="true" class="ant-tag ant-tag-blue ant-tag-zoom-enter">cool</div><div data-show="true" class="ant-tag ant-tag-blue ant-tag-zoom-enter">teacher</div></span></td>
2923-
<td><span><a href="javascript:;">Action 一 Joe</a> <div class="ant-divider ant-divider-vertical"></div> <a href="javascript:;">Delete</a></span></td>
2919+
<td class="">Black</td>
2920+
<td class="">32</td>
2921+
<td class="">Sidney No. 1 Lake Park</td>
2922+
<td class=""><span><div data-show="true" class="ant-tag ant-tag-blue ant-tag-zoom-enter">cool</div><div data-show="true" class="ant-tag ant-tag-blue ant-tag-zoom-enter">teacher</div></span></td>
2923+
<td class=""><span><a href="javascript:;">Action 一 Joe</a> <div class="ant-divider ant-divider-vertical"></div> <a href="javascript:;">Delete</a></span></td>
29242924
</tr>
29252925
</tbody>
29262926
</table>

0 commit comments

Comments
 (0)