Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
H5Public
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
CI / CD
CI / CD
流水线
作业
日程
统计图
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
前端开发小组
H5Public
Commits
fe3bc0de
提交
fe3bc0de
authored
10月 09, 2019
作者:
周盛
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
4185 筛选条件选中问题 班级支持多选
上级
9fe3943a
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
38 行增加
和
12 行删除
+38
-12
index.js
HighStateComponent/Filter/index.js
+38
-12
没有找到文件。
HighStateComponent/Filter/index.js
浏览文件 @
fe3bc0de
...
...
@@ -21,6 +21,7 @@ export default class Filter extends React.Component{
this
.
state
=
{
inputValue
:
''
,
formValues
:
{
clazzIds
:
[],
},
options
:
{
gradeList
:[],
...
...
@@ -78,24 +79,36 @@ export default class Filter extends React.Component{
}
formChange
=
(
key
,
value
)
=>
{
const
{
formValues
}
=
this
.
state
;
formValues
[
key
]
=
value
;
let
{
formValues
}
=
this
.
state
;
// 判断是否第二次取消
if
(
key
===
'clazzIds'
)
{
if
(
formValues
[
key
].
indexOf
(
value
)
!==
-
1
){
formValues
[
key
]
=
formValues
[
key
].
filter
(
i
=>
i
!==
value
);
}
else
{
formValues
[
key
].
push
(
value
);
}
}
else
{
if
(
formValues
[
key
]
===
value
)
delete
formValues
[
key
];
else
formValues
[
key
]
=
value
;
}
if
(
key
===
'gradeId'
)
{
delete
formValues
.
institutionId
;
delete
formValues
.
majorId
;
delete
formValues
.
clazzId
;
delete
formValues
.
majorId
formValues
.
clazzIds
=
[]
;
}
if
(
key
===
'institutionId'
)
{
this
.
fetchMajorList
({
institutionId
:
value
});
delete
formValues
.
majorId
;
delete
formValues
.
clazzId
;
delete
formValues
.
majorId
formValues
.
clazzIds
=
[]
;
}
if
(
key
===
'majorId'
)
{
this
.
fetchClazzList
({
institutionId
:
formValues
.
institutionId
,
majorId
:
value
,
gradeId
:
formValues
.
gradeId
});
delete
formValues
.
clazzId
;
formValues
.
clazzIds
=
[]
;
}
this
.
setState
({
...
...
@@ -123,10 +136,20 @@ export default class Filter extends React.Component{
generateItem
=
(
keyName
,
dataList
)
=>
{
const
{
formValues
}
=
this
.
state
;
// 判断类名
const
isSelect
=
(
value
)
=>
{
if
(
keyName
===
'clazzIds'
)
{
if
(
formValues
[
keyName
].
indexOf
(
value
)
!==
-
1
)
return
true
;
}
else
if
(
formValues
[
keyName
]
===
value
){
return
true
;
}
return
false
;
}
return
(
<
div
className
=
'optionsBox'
>
{
dataList
.
map
(
i
=>
(
<
div
className
=
{
formValues
[
keyName
]
===
i
.
value
?
'cusLabelFocus'
:
'cusLabel'
}
<
div
className
=
{
isSelect
(
i
.
value
)
?
'cusLabelFocus'
:
'cusLabel'
}
key
=
{
i
.
value
}
onTouchStart
=
{()
=>
this
.
formChange
(
keyName
,
i
.
value
)}
>
{
i
.
key
}
<
/div>
)
)
}
...
...
@@ -136,13 +159,16 @@ export default class Filter extends React.Component{
search
=
()
=>
{
const
{
formValues
}
=
this
.
state
;
this
.
props
.
getPage
(
formValues
);
const
clazzIds
=
formValues
.
clazzIds
.
join
(
','
);
this
.
props
.
getPage
({...
formValues
,
clazzIds
});
this
.
props
.
Toggle
&&
this
.
props
.
Toggle
();
}
reset
=
()
=>
{
this
.
setState
({
formValues
:
{}
formValues
:
{
clazzIds
:
[],
}
})
}
render
(){
...
...
@@ -169,8 +195,8 @@ export default class Filter extends React.Component{
{
this
.
generateItem
(
'institutionId'
,
institutionList
)}
<
/>
)
: null
}
{
institutionId
?
(
<><
p
style
=
{{
color
:
'#666666'
}}
>
专业选择
<
/p
>
{
this
.
generateItem
(
'majorId'
,
majorList
)}
<
/>
)
: null
}
{
majorId
?
<><
p
style
=
{{
color
:
'#666666'
}}
>
班级选择
<
/p
>
{
this
.
generateItem
(
'clazzId'
,
clazzList
)}
<
/> : null
}
{
majorId
?
<><
p
style
=
{{
color
:
'#666666'
}}
>
班级选择
<
/p
>
{
this
.
generateItem
(
'clazzId
s
'
,
clazzList
)}
<
/> : null
}
<
/WingBlank
>
<
/div
>
<
div
className
=
'buttonBox'
>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论