Bud*_*ril 7 clipboard elm clipboard.js
当用户单击 elm 0.18 中的按钮时,有没有办法将文本从 div 复制到剪贴板?
我看过Clipboard.elm,但我无法让它在 elm 0.18 中编译和工作。那么在 elm 0.18 中是否有官方的工作方式来做到这一点?
如果目标浏览器支持,那么你可以通过端口来实现,例如:
榆树:
type Msg = Copy
update : Msg -> Model -> (Model, Cmd Msg)
update msg model =
case Debug.log "msg" msg of
Copy -> (model, copy ())
port copy : () -> Cmd msg
-- VIEW
view : Model -> Html Msg
view model =
div []
[ Html.input [ id "copy" ] []
, Html.button [ onClick Copy ] [ text "copy" ]
]
Run Code Online (Sandbox Code Playgroud)
javascript:
const app = Elm.Main.fullscreen();
app.ports.copy.subscribe(() => {
console.log('copy');
document.querySelector('#copy').select();
document.execCommand('copy');
});
Run Code Online (Sandbox Code Playgroud)