Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
students
shopping-mall
Commits
dcddb500
Commit
dcddb500
authored
Jan 25, 2021
by
Jiwon Yoon
Browse files
상품등록 오류 해결...한듯..?
parent
506fb316
Changes
1
Show whitespace changes
Inline
Side-by-side
client/src/Pages/ProductRegist.js
View file @
dcddb500
...
@@ -4,9 +4,6 @@ import { Row, Col, Button, Form, Container, Alert, Spinner } from 'react-bootstr
...
@@ -4,9 +4,6 @@ import { Row, Col, Button, Form, Container, Alert, Spinner } from 'react-bootstr
import
axios
from
'
axios
'
;
import
axios
from
'
axios
'
;
import
catchErrors
from
'
../utils/catchErrors
'
;
import
catchErrors
from
'
../utils/catchErrors
'
;
let
preColors
=
[]
let
colorHtml
=
[]
let
list
=
[]
function
ProductsRegist
()
{
function
ProductsRegist
()
{
const
INIT_PRODUCT
=
{
const
INIT_PRODUCT
=
{
...
@@ -21,11 +18,13 @@ function ProductsRegist() {
...
@@ -21,11 +18,13 @@ function ProductsRegist() {
main_image
:
[],
main_image
:
[],
detail_image
:
[]
detail_image
:
[]
}
}
const
[
preColors
,
setPreColors
]
=
useState
([])
const
[
categories
,
setCategories
]
=
useState
({
0
:
[],
1
:
[[]]
})
const
[
categories
,
setCategories
]
=
useState
({
0
:
[],
1
:
[[]]
})
const
[
product
,
setProduct
]
=
useState
(
INIT_PRODUCT
)
const
[
product
,
setProduct
]
=
useState
(
INIT_PRODUCT
)
const
[
categoryNum
,
setCategoryNum
]
=
useState
(
''
)
const
[
categoryNum
,
setCategoryNum
]
=
useState
(
''
)
const
[
tag
,
setTag
]
=
useState
(
0
)
const
[
tag
,
setTag
]
=
useState
(
0
)
const
[
subCate
,
setSubCate
]
=
useState
(
''
)
const
[
subCate
,
setSubCate
]
=
useState
([])
const
[
cateList
,
setCateList
]
=
useState
([])
const
[
color
,
setColor
]
=
useState
({})
const
[
color
,
setColor
]
=
useState
({})
const
[
error
,
setError
]
=
useState
(
''
)
const
[
error
,
setError
]
=
useState
(
''
)
const
[
success
,
setSuccess
]
=
useState
(
false
)
const
[
success
,
setSuccess
]
=
useState
(
false
)
...
@@ -50,38 +49,22 @@ function ProductsRegist() {
...
@@ -50,38 +49,22 @@ function ProductsRegist() {
isProduct
?
setDisabled
(
false
)
:
setDisabled
(
true
)
isProduct
?
setDisabled
(
false
)
:
setDisabled
(
true
)
},
[
product
])
},
[
product
])
function
addCategory
(
e
)
{
if
(
selectRef
.
current
.
value
===
''
)
{
alert
(
'
하위 분류를 반드시 선택해 주세요.
'
)
}
else
{
list
.
push
(
<
div
>
<
span
name
=
{
subCate
}
>
{
product
[
"
main_category
"
]}
/ {subCate} </
span
>
<
input
name
=
{
subCate
}
type
=
"
image
"
src
=
"
https://img.icons8.com/fluent-systems-regular/24/000000/close-window.png
"
className
=
"
float-right align-middle
"
onClick
=
{
deleteCategory
}
/
>
<
/div>
)
setTag
(
tag
+
1
)
selectRef
.
current
.
selectedIndex
=
0
}
}
function
deleteCategory
(
e
)
{
function
deleteCategory
(
e
)
{
e
.
target
.
parentNode
.
remove
()
const
pdcate
=
product
.
sub_category
.
filter
((
el
)
=>
el
!==
e
.
target
.
name
)
const
index
=
product
[
"
sub_category
"
].
findIndex
((
item
)
=>
{
return
item
===
e
.
target
.
name
})
setProduct
({
...
product
,
"
sub_category
"
:
pdcate
})
product
[
"
sub_category
"
].
splice
(
index
,
1
)
setSubCate
([])
setSubCate
(
''
)
console
.
log
(
product
[
"
sub_category
"
].
length
)
}
}
function
handleCategory
(
e
)
{
function
handleCategory
(
e
)
{
const
{
name
,
value
,
selectedIndex
}
=
e
.
target
const
{
name
,
value
,
selectedIndex
}
=
e
.
target
if
(
name
===
"
main_category
"
)
{
if
(
name
===
"
main_category
"
)
{
setProduct
({
...
product
,
[
name
]:
value
})
setCategoryNum
(
selectedIndex
-
1
)
setCategoryNum
(
selectedIndex
-
1
)
}
}
if
(
name
===
"
sub_category
"
)
{
else
{
product
[
name
].
push
(
value
)
subCate
.
push
(
value
)
setSubCate
(
value
)
setProduct
({
...
product
,
[
name
]:
subCate
})
}
else
{
selectRef
.
current
.
selectedIndex
=
0
setProduct
({
...
product
,
[
name
]:
value
})
}
}
}
}
...
@@ -90,23 +73,15 @@ function ProductsRegist() {
...
@@ -90,23 +73,15 @@ function ProductsRegist() {
}
}
function
addColor
()
{
function
addColor
()
{
preColors
.
push
(
color
[
"
colors
"
])
colorHtml
.
push
(
<
div
>
<
span
>
{
color
[
"
colors
"
]}
<
/span
>
<
input
name
=
{
subCate
}
type
=
"
image
"
src
=
"
https://img.icons8.com/fluent-systems-regular/24/000000/close-window.png
"
className
=
"
float-right align-middle
"
onClick
=
{
deleteColor
}
/
>
<
/div
>
)
colorRef
.
current
.
value
=
''
colorRef
.
current
.
value
=
''
setProduct
({
...
product
,
"
colors
"
:
preColors
})
setProduct
({
...
product
,
"
colors
"
:
[...
product
.
colors
,
color
[
"
colors
"
]]
})
}
}
function
deleteColor
(
e
)
{
function
deleteColor
(
e
)
{
// console.log("e.name=",e.target.name)
console
.
log
(
product
.
colors
)
e
.
target
.
parentNode
.
remove
()
console
.
log
(
e
.
target
.
name
)
product
[
"
colors
"
].
splice
(
e
.
name
,
1
)
const
pdcolors
=
product
.
colors
.
filter
((
el
)
=>
el
!==
e
.
target
.
name
)
// setColor({})
setProduct
({
...
product
,
"
colors
"
:
pdcolors
})
// console.log(product)
}
}
function
handleColor
(
e
)
{
function
handleColor
(
e
)
{
...
@@ -165,6 +140,7 @@ function ProductsRegist() {
...
@@ -165,6 +140,7 @@ function ProductsRegist() {
return
(
return
(
<
Container
>
<
Container
>
{
console
.
log
(
product
)}
<
Row
className
=
"
justify-content-md-center
"
>
<
Row
className
=
"
justify-content-md-center
"
>
<
Col
md
=
{
8
}
className
=
"
border p-1
"
style
=
{{
background
:
'
#F7F3F3
'
}}
>
<
Col
md
=
{
8
}
className
=
"
border p-1
"
style
=
{{
background
:
'
#F7F3F3
'
}}
>
{
error
&&
<
Alert
variant
=
"
danger
"
className
=
"
text-center
"
>
{
error
}
<
/Alert>
}
{
error
&&
<
Alert
variant
=
"
danger
"
className
=
"
text-center
"
>
{
error
}
<
/Alert>
}
...
@@ -201,11 +177,15 @@ function ProductsRegist() {
...
@@ -201,11 +177,15 @@ function ProductsRegist() {
)))}
)))}
<
/Form.Control
>
<
/Form.Control
>
<
/Col
>
<
/Col
>
<
Col
>
<
Button
className
=
"
float-right
"
style
=
{{
background
:
'
#91877F
'
,
borderColor
:
'
#91877F
'
}}
onClick
=
{
addCategory
}
>
추가
<
/Button
>
<
/Col
>
<
/Row
>
<
/Row
>
{
list
.
map
((
element
)
=>
element
)}
{
product
.
sub_category
.
map
((
el
)
=>
(
<
div
className
=
"
my-2
"
>
<
p
name
=
{
el
}
className
=
"
mb-0
"
style
=
{{
display
:
'
inline-block
'
}}
>
{
product
[
"
main_category
"
]}
/ {el} </
p
>
<
Button
name
=
{
el
}
type
=
"
button
"
className
=
"
float-right p-0 btn-light
"
style
=
{{
display
:
'
inline-block
'
}}
onClick
=
{
deleteCategory
}
>
<
img
className
=
"
align-top
"
name
=
{
el
}
alt
=
"
삭제
"
src
=
"
https://img.icons8.com/fluent-systems-regular/24/000000/close-window.png
"
/>
<
/Button
>
<
/div
>
))}
<
/Form.Group
>
<
/Form.Group
>
<
Form
.
Group
>
<
Form
.
Group
>
<
Form
.
Label
>
사이즈
<
/Form.Label
>
<
Form
.
Label
>
사이즈
<
/Form.Label
>
...
@@ -238,14 +218,21 @@ function ProductsRegist() {
...
@@ -238,14 +218,21 @@ function ProductsRegist() {
<
Form
.
Group
>
<
Form
.
Group
>
<
Form
.
Label
>
색상
<
/Form.Label
>
<
Form
.
Label
>
색상
<
/Form.Label
>
<
Row
>
<
Row
>
<
Col
md
=
{
10
}
>
<
Col
xs
=
{
9
}
className
=
"
pr-0
"
>
<
Form
.
Control
as
=
"
input
"
ref
=
{
colorRef
}
name
=
"
colors
"
placeholder
=
"
색상
"
onChange
=
{
handleColor
}
/
>
<
Form
.
Control
as
=
"
input
"
ref
=
{
colorRef
}
name
=
"
colors
"
placeholder
=
"
색상
"
onChange
=
{
handleColor
}
/
>
<
/Col
>
<
/Col
>
<
Col
>
<
Col
className
=
"
pl-0
"
>
<
Button
className
=
"
float-right
"
style
=
{{
background
:
'
#91877F
'
,
borderColor
:
'
#91877F
'
}}
onClick
=
{
addColor
}
>
추가
<
/Button
>
<
Button
className
=
"
float-right
"
style
=
{{
background
:
'
#91877F
'
,
borderColor
:
'
#91877F
'
}}
onClick
=
{
addColor
}
>
추가
<
/Button
>
<
/Col
>
<
/Col
>
<
/Row
>
<
/Row
>
{
colorHtml
.
map
((
element
)
=>
element
)}
{
product
.
colors
.
map
((
el
)
=>
(
<
div
className
=
"
my-2
"
>
<
p
className
=
"
mb-0
"
style
=
{{
display
:
'
inline-block
'
}}
>
{
el
}
<
/p
>
<
Button
style
=
{{
display
:
'
inline-block
'
}}
name
=
{
el
}
type
=
"
button
"
className
=
"
float-right p-0 btn-light
"
onClick
=
{
deleteColor
}
>
<
img
className
=
"
align-top
"
name
=
{
el
}
alt
=
"
삭제
"
src
=
"
https://img.icons8.com/fluent-systems-regular/24/000000/close-window.png
"
/>
<
/Button
>
<
/div
>
))}
<
/Form.Group
>
<
/Form.Group
>
<
Form
.
Group
controlId
=
"
productDescriptionform
"
>
<
Form
.
Group
controlId
=
"
productDescriptionform
"
>
<
Form
.
Label
>
상품설명
<
/Form.Label
>
<
Form
.
Label
>
상품설명
<
/Form.Label
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment