dailer
6 years ago
5 changed files with 85 additions and 1 deletions
@ -0,0 +1,38 @@ |
|||||||
|
# 一个图标+文字的组件 |
||||||
|
图标+文字的形式是很常见的组件,如果用Jquery实现一个这样的组件可以这样 |
||||||
|
## js |
||||||
|
``` |
||||||
|
// 创建一个图标+文字的组件 |
||||||
|
var IconText = BI.inherit(BI.Widget, { |
||||||
|
|
||||||
|
render: function () { |
||||||
|
|
||||||
|
var container = $("<div class=\"plugin-icon-text\"></div>"); |
||||||
|
var icon = $("<span class=\"plugin-icon-text-icon\"></span>"); |
||||||
|
var text = $("<div class=\"plugin-icon-text-text\">这是一个图标+文字的组件</div>"); |
||||||
|
container.append(icon); |
||||||
|
container.append(text); |
||||||
|
this.element.append(container); |
||||||
|
} |
||||||
|
}); |
||||||
|
BI.shortcut("dec.plugin.icon_text", IconText); |
||||||
|
``` |
||||||
|
## css |
||||||
|
``` |
||||||
|
.plugin-icon-text-icon { |
||||||
|
width: 24px; |
||||||
|
height: 24px; |
||||||
|
background: url("./icon/upload_success.png") center, center, no-repeat; |
||||||
|
background-size: contain; |
||||||
|
} |
||||||
|
|
||||||
|
.plugin-icon-text { |
||||||
|
display: flex; |
||||||
|
justify-content: flex-start; |
||||||
|
align-items: center; |
||||||
|
margin: 10px; |
||||||
|
} |
||||||
|
``` |
||||||
|
|
||||||
|
## 效果预览 |
||||||
|
![](../screenshorts/6.png) |
@ -0,0 +1,33 @@ |
|||||||
|
# 一个图标+文字的组件 |
||||||
|
由[一个图标+文字的组件](../dom/一个图标_文字的组件.md)可以看到,我们手写了外层布局的样式,手动把icon和text添加到了container中.如果用FineUI提供的布局组件改怎么写呢? |
||||||
|
通过查阅[FineUI基础教程](https://kms.finedevelop.com/pages/viewpage.action?pageId=58494116)来知悉如何创建一个组件,以及一些基础控件的使用,想象一下,我们要实现的图标+文字组件是怎样组合的:一个水平方向的布局,内部为一个图标和文字.于是我们需要用到`bi.vertical_adapt`布局加 `bi.icon` `bi.label` 两个控件,而图标多数情况下我们是需要水平垂直居中的,因此还需要`bi.center_adapt` 容纳一下. |
||||||
|
## js |
||||||
|
``` |
||||||
|
// 创建一个图标+文字的组件 |
||||||
|
var IconText = BI.inherit(BI.Widget, { |
||||||
|
|
||||||
|
render: function () { |
||||||
|
return { |
||||||
|
type: "bi.vertical_adapt", // 首先是垂直居中布局容纳两个子元素 |
||||||
|
items: [ |
||||||
|
{ |
||||||
|
type: "bi.center_adapt", // 水平垂直居中布局 |
||||||
|
cls: "setting-font", // 图标定义的类名 |
||||||
|
items: [ |
||||||
|
{ |
||||||
|
type: "bi.icon" // 图标组件,<i> |
||||||
|
} |
||||||
|
], |
||||||
|
width: 24, |
||||||
|
height: 24 |
||||||
|
}, { |
||||||
|
type: "bi.label", // label文字标签 |
||||||
|
height: 24, |
||||||
|
text: "这是一个图标+文字的组件" |
||||||
|
} |
||||||
|
] |
||||||
|
}; |
||||||
|
} |
||||||
|
}); |
||||||
|
BI.shortcut("dec.plugin.icon_text", IconText); |
||||||
|
``` |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 4.4 KiB |
Loading…
Reference in new issue