将 NodeRef 存储在 Context 中

问题描述 投票:0回答:1

是否可以将

NodeRef
存储在
Context
中?

为了避免使用

web_sys
库的
document().get_element_by_id()
(因为通常更好的做法是存储
ref
而不是直接在框架中操作
DOM
),我想将
NodeRef
存储在
Context
中,但由于此错误,这似乎不可能:
this method takes 1 argument but 0 arguments were supplied
尝试此操作时:

<input type="text"
    node_ref=my_ctx2.input_ref
/>

请检查此代码框链接以检查发生了什么。

我可以确认同样的错误也适用于

leptos
v0.6.11。

这是一个错误还是我错过了一些真正基本的东西?

rust wasm-bindgen leptos
1个回答
0
投票

看起来

node_ref=
/
_ref=
语法除了标识符之外不处理任何东西;所以像
my_ctx2.input_ref
这样的表达式不匹配。也许这是一个错误或简单的疏忽。

幸运的是,

NodeRef
可以轻松复制,因此您可以简单地创建另一个变量:

let input_ref = my_ctx2.input_ref;

view! {
    <input type="text"
        node_ref=input_ref
    />
}
© www.soinside.com 2019 - 2024. All rights reserved.