-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathxiaojiejie.js
94 lines (83 loc) · 2.98 KB
/
xiaojiejie.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import React, { Component,Fragment } from 'react';
import './style.css'
import XiaojiejieItem from './xiaojiejieitem'
import Axios from 'axios';
import {CSSTransition,TransitionGroup} from 'react-transition-group'
class Xiaojiejie extends Component {
constructor(props) {
super(props)
this.state={
inputValue:'',
list:[]
}
}
componentDidMount(){
Axios.get('https://easy-mock.com/mock/5ea7f2ae345da32ea0fae5bd/xiaojiejie')
.then((res)=>{
console.log('axios获取数据成功'+JSON.stringify(res))
this.setState({
list:res.data.data
})
})
.catch((error)=>{console.log('axios数据获取失败'+error)})
}
render() {
console.log('render')
return (
<Fragment>
<div className='main-item'>
<label htmlFor='dd'>增加服务:</label>
<input
id='dd'
value={this.state.inputValue}
onChange={this.inputChange.bind(this)}
ref={(input)=>{this.input=input}}/>
<button onClick={this.addList.bind(this)}>增加服务</button>
<ul ref={(ul)=>{this.ul=ul}}>
<TransitionGroup>
{
this.state.list.map((item,index)=>{
return (
<CSSTransition
timeout={2000}
classNames='boss-text'
unmountOnExit
key={index+item}
appear={true}
>
<XiaojiejieItem
key={index+item}
content={item}
index={index}
deleteItem={this.deleteItem.bind(this)}
/>
</CSSTransition>
)
})
}
</TransitionGroup>
</ul>
</div>
</Fragment>
);
}
inputChange(e){
this.setState({
inputValue:this.input.value
})
}
addList(){
this.setState({
list:[...this.state.list,this.state.inputValue],
inputValue:''
},()=>{ console.log(this.ul.querySelectorAll('li').length)})
}
deleteItem(index){
let list=this.state.list;
list.splice(index,1);
this.setState({
list:list
})
}
}
export default Xiaojiejie