点我扫二维码,查看demo
# SearchBar 搜索栏
# 介绍
在搜索场景中使用
# 引入
通过以下方式来按需注册组件。
import Vue from 'vue';
import { SearchBar } from '@dolphin-iot/ui'
Vue.use(SearchBar);
1
2
3
4
2
3
4
# 代码演示
# 基础用法
v-model
用户获取搜索框中输入的文字内容
<template>
<div class="demo-list">
<div class="panel">
<div class="demo-panel mgb">
<mx-search-bar v-model="gray" theme="gray" placeholder="请输入家电型号" />
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
gray: '',
}
},
};
</script>
<style lang="scss" scoped>
.demo-list {
width: 100%;
height: 100%;
background: #f9f9f9;
.panel{
padding-left: 10px;
padding-right:10px;
margin-bottom: 20px;
.demo-panel {
&.black{
background: #000;
}
&.mgb {
margin-bottom: 20px;
}
}
}
}
.back {
padding-right: 5px;
font-size: 0;
}
</style>
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
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
# 监听事件
通过change
事件,监听输入框输入的文字内容
<template>
<div class="demo-list">
<div class="panel">
<div class="demo-panel mgb">
<mx-search-bar v-model="gray1" theme="gray" placeholder="请输入家电型号" @change="getSearchValue" />
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
gray1: '',
}
},
methods:{
getSearchValue(val) {
alert(val)
}
}
};
</script>
<style lang="scss" scoped>
.demo-list {
width: 100%;
height: 100%;
background: #f9f9f9;
.panel{
padding-left: 10px;
padding-right:10px;
margin-bottom: 20px;
.demo-panel {
&.black{
background: #000;
}
&.mgb {
margin-bottom: 20px;
}
}
}
}
.back {
padding-right: 5px;
font-size: 0;
}
</style>
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
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
# 自定义背景色
通过wrapper-style
属性,设置输入框外边框样式;round
属性设置输入框的形状;
<template>
<div class="demo-list">
<div class="panel">
<div class="demo-panel mgb">
<mx-search-bar v-model="gray2" theme="gray" round :wrapperStyle="wrapperStyle" placeholder="请输入家电型号" />
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
gray2: '',
}
}
};
</script>
<style lang="scss" scoped>
.demo-list {
width: 100%;
height: 100%;
background: #f9f9f9;
.panel{
padding-left: 10px;
padding-right:10px;
margin-bottom: 20px;
.demo-panel {
&.black{
background: #000;
}
&.mgb {
margin-bottom: 20px;
}
}
}
}
.back {
padding-right: 5px;
font-size: 0;
}
</style>
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
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
# 自定义按钮
通过插槽action
设置搜索框外边框右侧按钮,使用action
插槽后,cancel
事件将失效。
<template>
<div class="demo-list">
<div class="panel">
<div class="demo-panel mgb">
<mx-search-bar v-model="gray3"
theme="gray"
show-suffix
show-prefix
placeholder="请输入家电型号"
>
<div slot="action">搜索</div>
</mx-search-bar>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
gray3: '',
}
},
};
</script>
<style lang="scss" scoped>
.demo-list {
width: 100%;
height: 100%;
background: #f9f9f9;
.panel{
padding-left: 10px;
padding-right:10px;
margin-bottom: 20px;
.demo-panel {
&.black{
background: #000;
}
&.mgb {
margin-bottom: 20px;
}
}
}
}
.back {
padding-right: 5px;
font-size: 0;
}
</style>
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
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
# API
# Prop
字段 | 说明 | 类型 | 默认值 |
---|---|---|---|
v-model | 当前搜索框输入值 | string | - |
value | 当前搜索框输入值 | string | - |
placeholder | 占位符提示文字 | string | - |
theme | 主题背景色 | string | gray |
round | 搜索框形状 | boolean | false |
wrapper-style | 自定义搜索框外边框样式 | string object | - |
show-prefix | 是否展示搜索框左侧的图标 | boolean | false |
show-suffix | 受否展示搜索框右侧的图标 | boolean | false |
# Events
事件名 | 说明 | 回调参数 |
---|---|---|
change | 点击搜索框内部右侧图标(内容)触发 | false |
return | 点击搜索框外部图标(内容)时触发 | false |
cancel | 点击取消时触发 | false |
# Slots
名称 | 说明 |
---|---|
prefix | 搜索框外部左侧自定义内容 |
icon | 搜索框内部左侧自定义内容 |
addon | 搜索框内部右侧自定义内容 |
action | 搜索框外部右侧自定义内容 |
# SearchBar 搜索栏
# 介绍
在搜索场景中使用
# 引入
通过以下方式来按需注册组件。
import Vue from 'vue';
import { SearchBar } from '@minix-iot/ui'
Vue.use(SearchBar);
1
2
3
4
2
3
4
# 代码演示
# 基础用法
v-model
用户获取搜索框中输入的文字内容
<template>
<div class="demo-list">
<div class="panel">
<div class="demo-panel mgb">
<mx-search-bar v-model="gray" theme="gray" placeholder="请输入家电型号" />
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
gray: '',
}
},
};
</script>
<style lang="scss" scoped>
.demo-list {
width: 100%;
height: 100%;
background: #f9f9f9;
.panel{
padding-left: 10px;
padding-right:10px;
margin-bottom: 20px;
.demo-panel {
&.black{
background: #000;
}
&.mgb {
margin-bottom: 20px;
}
}
}
}
.back {
padding-right: 5px;
font-size: 0;
}
</style>
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
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
# 监听事件
通过change
事件,监听输入框输入的文字内容
<template>
<div class="demo-list">
<div class="panel">
<div class="demo-panel mgb">
<mx-search-bar v-model="gray1" theme="gray" placeholder="请输入家电型号" @change="getSearchValue" />
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
gray1: '',
}
},
methods:{
getSearchValue(val) {
alert(val)
}
}
};
</script>
<style lang="scss" scoped>
.demo-list {
width: 100%;
height: 100%;
background: #f9f9f9;
.panel{
padding-left: 10px;
padding-right:10px;
margin-bottom: 20px;
.demo-panel {
&.black{
background: #000;
}
&.mgb {
margin-bottom: 20px;
}
}
}
}
.back {
padding-right: 5px;
font-size: 0;
}
</style>
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
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
# 自定义背景色
通过wrapper-style
属性,设置输入框外边框样式;round
属性设置输入框的形状;
<template>
<div class="demo-list">
<div class="panel">
<div class="demo-panel mgb">
<mx-search-bar v-model="gray2" theme="gray" round :wrapperStyle="wrapperStyle" placeholder="请输入家电型号" />
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
gray2: '',
}
}
};
</script>
<style lang="scss" scoped>
.demo-list {
width: 100%;
height: 100%;
background: #f9f9f9;
.panel{
padding-left: 10px;
padding-right:10px;
margin-bottom: 20px;
.demo-panel {
&.black{
background: #000;
}
&.mgb {
margin-bottom: 20px;
}
}
}
}
.back {
padding-right: 5px;
font-size: 0;
}
</style>
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
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
# 自定义按钮
通过插槽action
设置搜索框外边框右侧按钮,使用action
插槽后,cancel
事件将失效。
<template>
<div class="demo-list">
<div class="panel">
<div class="demo-panel mgb">
<mx-search-bar v-model="gray3"
theme="gray"
show-suffix
show-prefix
round
placeholder="请输入家电型号"
>
<div slot="action" class="action-search">搜索</div>
</mx-search-bar>
</div>
<div class="demo-panel mgb">
<mx-search-bar v-model="gray3"
theme="gray"
show-suffix
show-prefix
round
placeholder="请输入家电型号"
>
<div slot="action" class="action-container">
<mx-badge :dot="true" class="badge-wrapper">
<img src="../../assets/img/search-ic-face.png" />
</mx-badge>
</div>
</mx-search-bar>
</div>
<div class="demo-panel mgb">
<mx-search-bar v-model="gray3"
theme="gray"
show-prefix
round
placeholder="请输入家电型号"
>
</mx-search-bar>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
gray3: '',
}
},
};
</script>
<style lang="scss" scoped>
.demo-list {
width: 100%;
height: 100%;
background: #f9f9f9;
.panel{
padding-left: 10px;
padding-right:10px;
margin-bottom: 20px;
.demo-panel {
&.black{
background: #000;
}
&.mgb {
margin-bottom: 20px;
}
}
}
}
.action-search{
font-size: 16px;
}
.back {
padding-right: 5px;
font-size: 0;
}
</style>
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
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
# API
# Prop
字段 | 说明 | 类型 | 默认值 |
---|---|---|---|
v-model | 当前搜索框输入值 | string | - |
value | 当前搜索框输入值 | string | - |
placeholder | 占位符提示文字 | string | - |
theme | 主题背景色 | string | gray |
round | 搜索框形状 | boolean | false |
wrapper-style | 自定义搜索框外边框样式 | string object | - |
show-prefix | 是否展示搜索框左侧的图标 | boolean | false |
show-suffix | 受否展示搜索框右侧的图标 | boolean | false |
# Events
事件名 | 说明 | 回调参数 |
---|---|---|
change | 点击搜索框内部右侧图标(内容)触发 | false |
return | 点击搜索框外部图标(内容)时触发 | false |
cancel | 点击取消时触发 | false |
# Slots
名称 | 说明 |
---|---|
prefix | 搜索框外部左侧自定义内容 |
icon | 搜索框内部左侧自定义内容 |
addon | 搜索框内部右侧自定义内容 |
action | 搜索框外部右侧自定义内容 |