- 从API version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
您当前正在浏览HarmonyOS最新文档,覆盖已发布的所有API版本,可在API参考中筛选您使用的API版本。详细的版本配套关系请参考版本说明。
提供在页面中动态添加组件,并为动态添加的组件设置属性与样式的能力。
createElement(tag: string): Element
创建一个组件对象。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tag | string | 是 | 组件名称。 |
返回值:
| 类型 | 说明 |
|---|---|
| Element | 对应tag名称的组件对象。 |
- let newImage = dom.createElement('image')
setAttribute(name: string, value: string): void
动态设置组件的属性。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 属性名称。 |
| value | string | 是 | 属性值。 |
- newImage.setAttribute('src', 'common/testImage.jpg')
setStyle(name: string, value: string): boolean
动态设置组件的样式。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 样式名称。 |
| value | string | 是 | 样式值。 |
返回值:
| 类型 | 说明 |
|---|---|
| boolean | 设置成功时返回true,失败时返回false。 |
- newImage.setStyle('width', '120px')
addChild(child: Element): void
将动态创建的组件添加到父组件当中。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| child | Element | 是 | 组件对象。 |
- newDiv.addChild(newImage)
- <!-- xxx.hml -->
- <div class="container">
- <div id="parentDiv" class="parent"></div>
- <button onclick="appendDiv" class="btn">动态创建div</button>
- <button onclick="appendImage" class="btn">动态创建image到创建的div中</button>
- </div>
- /* xxx.css */
- .container {
- flex-direction: column;
- align-items: center;
- width: 100%;
- }
-
- .parent {
- flex-direction: column;
- }
-
- .btn {
- width: 70%;
- height: 60px;
- margin: 15px;
- }
- // xxx.js
- let newDiv = null
- let newImage = null
-
- export default {
- appendDiv() {
- let parent = this.$element('parentDiv')
- newDiv = dom.createElement('div')
- newDiv.setStyle('width', '150px')
- newDiv.setStyle('height', '150px')
- newDiv.setStyle('backgroundColor', '#AEEEEE')
- newDiv.setStyle('marginTop', '15px')
- parent.addChild(newDiv)
- },
- appendImage() {
- newImage = dom.createElement('image')
- newImage.setAttribute('src', 'common/testImage.jpg')
- newImage.setStyle('width', '120px')
- newImage.setStyle('height', '120px')
- newDiv.addChild(newImage)
- }
- }
合作咨询
我们的专家服务团队将竭诚为您提供专业的合作咨询服务
解决方案
精准高效的一站式服务支持,助力开发者商业成功