如何在 Observablehq 中创建带有标签的输入字段
How to create an input field with a label in Observablehq
我可以用这段代码创建一个输入文本框。在同一行向其添加标签,同时仍将其绑定到同一全局变量的最佳方法是什么?
viewof myText = html`<input type="text" value="initial value">
我愿意
viewof myText = html`Enter something: <input type="text" value="initial value">
但是 myText 没有绑定到输入字段。
获得此效果的最简单方法是使用 Jeremy 的 Inputs notebook,其中包括带标签的文本框。您可以 import
只将文本框方法添加到您的笔记本中,这可以解决一般问题。
在不导入其他笔记本的情况下,最简单的方法是:
viewof myText = {
let form = html`Enter something: <input type="text" value="initial value">`;
form.addEventListener('input', e => {
form.value = e.target.value
});
return form;
}
viewof
读取返回给它的 .value
属性,此代码将 .value
属性 设置为包含的输入值.当输入元素是单元格中唯一的东西时,viewof 无需任何额外代码即可工作,但如果有多个元素都具有值,则用户代码需要告诉笔记本哪个输入提供了值。
目前(2021 年 10 月)Observable Inputs are the preferred way of adding input elements to notebooks. See the introductory notebook and collection
viewof myText = Inputs.text({
label: "Enter something",
placeholder: "Text",
value: "Initial value"
})
我可以用这段代码创建一个输入文本框。在同一行向其添加标签,同时仍将其绑定到同一全局变量的最佳方法是什么?
viewof myText = html`<input type="text" value="initial value">
我愿意
viewof myText = html`Enter something: <input type="text" value="initial value">
但是 myText 没有绑定到输入字段。
获得此效果的最简单方法是使用 Jeremy 的 Inputs notebook,其中包括带标签的文本框。您可以 import
只将文本框方法添加到您的笔记本中,这可以解决一般问题。
在不导入其他笔记本的情况下,最简单的方法是:
viewof myText = {
let form = html`Enter something: <input type="text" value="initial value">`;
form.addEventListener('input', e => {
form.value = e.target.value
});
return form;
}
viewof
读取返回给它的 .value
属性,此代码将 .value
属性 设置为包含的输入值.当输入元素是单元格中唯一的东西时,viewof 无需任何额外代码即可工作,但如果有多个元素都具有值,则用户代码需要告诉笔记本哪个输入提供了值。
目前(2021 年 10 月)Observable Inputs are the preferred way of adding input elements to notebooks. See the introductory notebook and collection
viewof myText = Inputs.text({
label: "Enter something",
placeholder: "Text",
value: "Initial value"
})