pyodide的HTML元素,作为Python函数实现
项目描述
Pyodide HTML
作为Python函数实现的pyodide
的HTML元素。
快速入门
import micropip
micropip.install('pyodide-html')
import pyodide_html as html
ele = html.h1('Hello, world!')
js.document.body.appendChild(ele)
动机
在pyodide
中,您可以使用js.document
创建HTML元素,但这非常冗长。例如,范围输入将看起来像
import js
ele = js.document.createElement('input')
ele.type = 'range'
ele.min = 0
ele.max = 50
ele.value = 25
ele.step = 1
使用pyodide_html
,您可以通过单个函数调用完成所有这些操作
import pyodide_html as html
ele = html.input(type="range", min=0, max=50, value=25, step=1)
使用方法
所有HTML标签都作为Python函数实现。例如,html.h1
创建一个<h1>
元素,html.input
创建一个<input>
元素,依此类推。
函数的签名是
html.element(*children, **props)
这等价于调用<element **props>*children</element>
。
每个元素都有一个add
方法,允许您添加新元素或更新现有元素或属性。它的签名如下
html.element(*children, **props).add(*children, **props)
这如果您想用某些props
初始化元素,然后稍后使用add
添加或更新children
或props
很有用。例如
import pyodide_html as html
# initialize your element
ele = html.div(className="container")
# Add children
ele.add(
html.h1("My header"),
html.p("Some paragraph here"),
# ...
)
# You can add new props:
ele.add(style="background-color: lightgray")
# You can also update existing props:
ele.add(style="background-color: lightblue")
您也可以链式调用add
。
ele.add(style="...").add(className="...").add(html.div("a child"))
请注意,add
会就地修改元素。
文档
参阅 REFERENCE.txt (GitHub链接) 以获取API参考。
贡献/开发
克隆此存储库后,请从以下步骤开始
pip install -r dev-requirements.txt
然后您可以进行所需的更改
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
pyodide-html-0.1.0.tar.gz (4.2 kB 查看哈希值)
构建分布
pyodide_html-0.1.0-py3-none-any.whl (4.5 kB 查看哈希值)
关闭
pyodide-html-0.1.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 286acd1e36eea87672b6d93c0b9bc1272aa4d52b7ed2836dee987825d3edf6cd |
|
MD5 | 7daa8ac3d03c0e51b63c6ce96b86e9b6 |
|
BLAKE2b-256 | 87875544d1662319afdb4753e2dcd650492b16f52b59bf773d61d1e9375af90c |
关闭
pyodide_html-0.1.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c01d5e758a4c79e148754fdc5fcfc33198d86540ff0c179d668421b6fbf2e413 |
|
MD5 | 09ea3eceaa49f8f633a98a14a93587da |
|
BLAKE2b-256 | d7522df703f0612096a56d7338a7b82f92cb7e7b18a936be47a397a6c1dacb95 |