Skip to content

Commit 42bf8f3

Browse files
committed
#51 ActionSheet 的 menus 和 actions 增加支持传入自定义 className
1 parent a09719a commit 42bf8f3

File tree

3 files changed

+25
-13
lines changed

3 files changed

+25
-13
lines changed

docs/actionsheet.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,20 @@ class App extends React.Component {
2626
show: false,
2727
menus: [{
2828
label: '拍照',
29+
className: 'customClassName',
2930
onClick: ()=>{
3031

3132
}
3233
}, {
3334
label: '从手机相册中选择',
35+
className: 'customClassName',
3436
onClick: ()=>{
3537

3638
}
3739
}],
3840
actions: [{
3941
label: '取消',
42+
className: 'customClassName',
4043
onClick: this.hide.bind(this)
4144
}]
4245
};

src/components/actionsheet/actionsheet.js

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,26 +48,28 @@ export default class ActionSheet extends React.Component {
4848

4949
_renderMenuItem() {
5050
return this.props.menus.map((menu, idx) => {
51-
const {label, ...others} = menu;
52-
const className = classNames({
53-
weui_actionsheet_cell: true
51+
const {label, className, ...others} = menu;
52+
const cls = classNames({
53+
weui_actionsheet_cell: true,
54+
[className]: className
5455
});
5556

5657
return (
57-
<div key={idx} {...others} className={className}>{label}</div>
58+
<div key={idx} {...others} className={cls}>{label}</div>
5859
);
5960
});
6061
}
6162

6263
_renderActions() {
6364
return this.props.actions.map((action, idx) => {
64-
const {label, ...others} = action;
65-
const className = classNames({
66-
weui_actionsheet_cell: true
65+
const {label, className, ...others} = action;
66+
const cls = classNames({
67+
weui_actionsheet_cell: true,
68+
[className]: className
6769
});
6870

6971
return (
70-
<div key={idx} {...others} className={className}>{label}</div>
72+
<div key={idx} {...others} className={cls}>{label}</div>
7173
);
7274
});
7375
}

test/actionsheet.js

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,15 @@ describe('<ActionSheet></ActionSheet>', ()=> {
1616
[undefined, null, true, false].map((show) => {
1717
describe(`<ActionSheet></ActionSheet>`, ()=> {
1818
const menus = [{
19-
label: '拍照'
19+
label: '拍照',
20+
className: 'customClassName1'
2021
}, {
21-
label: '从相册中选取'
22+
label: '从相册中选取',
23+
className: 'customClassName2'
2224
}];
2325
const actions = [{
24-
label: '取消'
26+
label: '取消',
27+
className: 'customClassName'
2528
}, {
2629
label: '确定'
2730
}];
@@ -67,7 +70,9 @@ describe('<ActionSheet></ActionSheet>', ()=> {
6770
assert(menuItems.length === menus.length);
6871

6972
menuItems.map((menuItem, index)=> {
70-
assert(menuItem.text() === menus[index].label);
73+
const menu = menus[index];
74+
assert(menuItem.text() === menu.label);
75+
menu.className && assert(menuItem.hasClass(menu.className));
7176
});
7277
});
7378

@@ -76,7 +81,9 @@ describe('<ActionSheet></ActionSheet>', ()=> {
7681
assert(actionItems.length === actions.length);
7782

7883
actionItems.map((actionItem, index)=> {
79-
assert(actionItem.text() === actions[index].label);
84+
const action = actions[index];
85+
assert(actionItem.text() === action.label);
86+
action.className && assert(actionItem.hasClass(action.className));
8087
});
8188
});
8289
});

0 commit comments

Comments
 (0)