3

我可以使用此代码创建一个输入文本框。在同一行添加标签,同时仍将其绑定到同一个全局变量的最佳方法是什么?

viewof myText = html`<input type="text" value="initial value">

我想

viewof myText = html`Enter something: <input type="text" value="initial value">

但 myText 没有绑定到输入字段。

4

2 回答 2

5

获得这种效果的最简单方法是使用 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 无需任何额外代码即可工作,但如果有多个元素都有值,则用户代码需要告诉笔记本哪个输入提供值。

于 2018-04-17T15:18:53.840 回答
4

目前(2021 年 10 月)可观察输入是向笔记本添加输入元素的首选方式。查看介绍性笔记本和收藏

viewof myText = Inputs.text({
  label: "Enter something",
  placeholder: "Text",
  value: "Initial value"
})
于 2021-10-05T21:00:52.667 回答